"Due to a high turnout, electoral officials asked to extend the voting time by two hours" until 1530 GMT, it said, saying Interior Minister Mostafa Mohammad Najjar had approved the request.
Najjar had earlier said that due to a "rush of voters," the initial 10-hour voting period would be extended.
The Guardians Council electoral watchdog said voting was taking place "without any problems."
The interior ministry has not given any turnout figures but some polling stations in the capital were packed with voters, according to AFP journalists.
Iran is electing a successor to Mahmoud Ahmadinejad, who is constitutionally barred from serving a third consecutive term.