Leicester have climbed from 22nd place to seventh since Sven Goran Eriksson took charge in October and the former England manager's target of leading them directly into the Premier League remained on track after substitute Martyn Waghorn grabbed a stoppage-time winner.
It was a goal that owed something to good fortune, the ball running kindly to the striker after a clearance from Lewin Nyatanga struck Leicester's Matt Oakley, leaving him to blast the ball past David James from close range.
It was tough on Bristol. After Yakubu had scored his fourth goal in six matches since signing him on loan from Everton, the visitors had defied their recent Championship form and looked set to take a deserved point.
The Nigerian striker scooped an early chance over the bar but would have found it hard to miss when David James dived to cut out Sol Bamba's low cross into the six-yard box but managed only to push the ball to Yakubu's feet, right in front of him.
Leicester were soon creating more chances. James watched a Darius Vassell effort from 18 yards go wide but had to move quickly to block with his legs as Andy King broke through.
After only two wins in 11 matches, the Robins' prospects did not look good. When Albert Adomah stumbled as he set himself to shoot at the start of the second half, it looked like a miss they might regret.
Yet they continued to build attacks and earned an equaliser they deserved when Marvin Elliott headed home Jamie McAllister's corner.
The home side were rattled. Two changes did not disturb Bristol's rhythm and Ricardo, the Leicester goalkeeper, having been stretched to beat away an Adomah shot, spilled a cross before his team-mates could respond. Vassell forged a break down the right, but James rushed out to save at the feet of Matt Oakley.
Leicester City (4-1-4-1): Ricardo; Naughton, Bamba, Mee, Van Aanholt; Oakley; Vassell (Waghorn, 84), King, Wellens (Abe, 78), Gallagher (Dyer, 64); Yakubu. Substitutes not used Weale (gk), Vitor, Bruma, Berner.
Bristol City (4-4-1-1): James; Carey, Caulker, Fontaine, McAllister (Nyatanga, 64); Adomah, Elliott, Cissé, Woolford; Clarkson (Campbell-Ryce, 76); Keogh (Maynard, 59). Substitutes not used Gerken (gk), Pitman, Stewart, Johnson.
Referee R Booth (Nottinghamshire).