With more than 83% of the vote counted, Ollanta Humala, a former army commander, held his lead in the race with 30.84%. He appeared poised to advance to a second round next month or in June, since no candidate had won a majority.
Garcia, a former president whose 1985-1990 rule ended in hyperinflation and surging violence by Shining Path rebels, was second with 24.62%, a day after overtaking Flores, a pro-business conservative.
Flores, a lawyer, was third with 23.71%.
Pre-election polls showed that Humala would face a tight battle for the second place against Garcia and was likely to lose to Flores in a second round of balloting.
Election officials worked to tally votes for a third day as ballots were collected from remote Andean and jungle areas and Peruvians living abroad.
Garcia, 56, did well in the final polls before Sunday's vote as support ebbed for Flores, 46, who has little support from the poor.
Election authorities said it could take up to 20 days to determine the second-place finisher. The runoff must take place within 30 days after the final official result is announced.