The Citroen driver started the day in fourth place, but issues for Sebastien Loeb and Ott Tanak promoted the 38-year-old Dungannon driver up to third.
Meeke closed to within three seconds of leader Sebastien Ogier, but a spin dropped him over 30 seconds in time.
Meeke is eight seconds ahead of Hyundai's Spanish driver Dani Sordo.
Sordo was quickest overnight, but suffered a delaminated tyre to hand Loeb, in the second Citroen, the lead while Toyota's Tanak was forced to retire after an engine issue.
Loeb fell to fifth after a puncture in stage 14, with Sordo also dropping further time, promoting five-time WRC champion Ogier and Meeke into the top two positions.
Meeke had closed on Ford driver Ogier by stage 14, but he lost 30 seconds with a spin on the following stage, having to reverse through the dust on the gravel stages.
He also suffered two small spins on Friday's stages, but has largely stayed out of trouble despite the demanding conditions in the mountains above Guanajuato.
'We lost 30 seconds with the spin, but I haven't had the pace of Ogier all afternoon so I'm happy to be in second,' said Meeke, who is eighth in the standings after the opening two rounds in Monte Carlo and Sweden.
Returning nine-time World Champion Loeb, who is replacing Irishman Craig Breen for three rallies this year for Citroen, was on track for a fairy tale return to the WRC before his puncture, but has still impressed after three years out.
Welshman Elfyn Evans didn't re-start the rally after he rolled his Ford on day two, pulling out on safety grounds when co-driver Dan Barritt suffered a concussion in the crash.