Trailing the three-match series 1-0 after last week's nine-wicket defeat in Lahore, Lara's rapid innings of 100 not out from 77 balls took the tourists to 312 for four at the interval and within 45 runs of Pakistan's first innings total of 357 runs.
He became the fifth batsman in test history to score a century before lunch as he rocked Pakistan with a fourth hundred in his team's last four matches against the hosts and his 34th in 130 appearances.
Pakistan saw their lead cut down dramatically due to Lara's explosive innings despite claiming four key wickets with overnight pair of Chris Gayle and Daren Ganga falling short of their hundreds after resuming on 151-0.
The 37-year-old left hander, who made 61 and 122 in Lahore, was particularly severe on leg-spinner Danish Kaneria, hitting him for 60 runs from just 29 balls.
Coming to crease with the total on 162-1 in the day's fifth over, Lara recognised Kaneria as the main threat to a big total and waded into him with a mixture of brutal and sweetly timed strokes.
In Kaneria's 13th over of the session, Lara lifted him for three consecutive sixes and drove him for two other boundaries in an over that yielded 26 runs.
Kaneria conceded 83 in 13 overs in the session.
Lara's hundred is the ninth fastest in test cricket and included five sixes and 12 fours, five of them coming off pacer Abdul Razzaq.
The dominance of Lara, test cricket's leading scorer, was complete in a third-wicket stand of 61 from 31 balls with Runako Morton, whose contribution was just five.
The tourists got off to a bad start to the day, losing Gayle to a Kaneria leg spinner when he was trapped on the back foot for 93.
On 220-1, Kaneria had Ganga leg before for 82 while Umar Gul struck in his first over with the second new ball with Morton's wicket, also given leg before.
Shahid Nazir got the prized wicket of Shivnarine Chanderpaul, who was caught at mid-on by Razzaq for 14 runs to dampen the celebrations of his 100th test appearance.
Pakistan Ist innings 357 Vs West Indies 312 for 4 (Brian Lara 100 n o, Chris Gayle 93, Darren Ganga 82; Danish Kaneria 2 for 130, Umar Gul 1 for 55, Nazir 1 for 71)