Moradi ran the men's 800 metres at the 2012 Summer Olympics in London. He ran fifth heat of the race and ran a time of 1:48.23, qualifying for the next round. In the semifinal, however, he got disqualified for a lane violation.