Mr Humala, a former army officer, garnered 27.8%, Ms Flores took 26.3% and Mr Garcia had 25.6%, according to an official count of just over half the valid ballot.
But projections, which pollsters said were more representative, gave Mr Humala a far stronger lead with about 30% of the votes, as much as six points ahead of his two main rivals, who were virtually tied.
With none of the hopefuls getting the 50% needed to win outright, the election looked certain to be decided in a second round between the two top vote-getters.
Virtually unknown in political circles until recently, Mr Humala has seen his popularity surge in just weeks. A tough-talking nationalist who admires Venezuela's firebrand President Hugo Chavez, he has become a controversial figure in Peru.
As he voted with his wife Nadine at a Lima university, several hundred protesters hurled eggs, plastic bottles and insults. Police used shields to protect him as he left the building to chants of "assassin, criminal".
Allegations that surfaced during the electoral campaign accuse Mr Humala of responsibility for the torture and "disappearance" of leftist government opponents in 1992. He denies the claims.
Mr Humala battled insurgents in the 1990s, and led a failed military rebellion against then president Alberto Fujimori in 2000.
All three leading candidates have pledged to fight for social justice, but it is Mr Humala, 43, who appears to have stirred the imagination of the millions of impoverished Peruvians.
He has called for a redistribution of wealth and exemplary punishments for crooked politicians he says have poisoned the country. He opposes the US-financed eradication of coca.
Mr Garcia's APRA party Peru's oldest dominated the legislative election but no party gained a majority in Congress, according to exit polls. Earlier polling credited Mr Fujimori's daughter Keiko with more support than any other congressional candidate.