Saturday's match is a second leg encounter between the sides; the first was hosted by Bolton on August 29, 2010, and ended in a 2-2 draw.
Birmingham took the lead via a Johnson strike on 4 minutes, and when Gardner added a goal 5 minutes after the interval, the visitors appeared to be running away with the game.
But they hadn't reckoned with Bolton's fighting attitude, after they were reduced to 10 men, following the sending off of keeper Jaaskelainen.
The hosts reduced the lead through a Kevin Davies penalty on 71 minutes; 10 minutes later, Blake levelled the score.
Birmingham would have felt aggrieved with the referee's decision on both the occasions.
Davies' penalty resulted after referee Kevin Friend ruled that Johnson had fouled Davies, and Birmingham manager McLeish felt it was a soft decision that favoured the hosts.
Bolton's equaliser came from a free kick by Blake that referee Friend awarded when he held Birmingham's Ferguson guilty of fouling Gary Cahill.
This was another contentious decision that the home team did not find palatable.
Head to head, Bolton have established an 8-6 advantage in the last 20 league games played between the sides, with the remaining six matches drawn.
In their last 10 league games, Birmingham have registered 3 wins, 3 draws and 4 losses; Bolton have won 3 of their last 10, while losing 5 and drawing the remaining 2.
Of their 15 home games this season, Birmingham have won 4, drawn 7 and lost 4, while Bolton have won 2 of their 15 games on the road, while losing 8 and drawing the remaining 5.
In match week 30, Birmingham lost 2-1 away against Wigan; Bolton lost 1-0 away against Manchester United.
Bolton are currently ensconced in 7th place and could challenge for a top six spot and a possible European qualification.
For Birmingham, a win in Saturday's game could help the Blues move away from relegation.
Birmingham greater desperation to win combined with Bolton's unimpressive away record gives Birmingham a slight edge.
Birmingham's starting eleven against Wigan had the following players: Foster, Carr, Johnson, Jiranek, Ridgewell, Larsson, Gardner, Ferguson, Mutch, Beausejour, Jerome.
Davies, Bentley and Martins featured as substitutes.
Bolton had the following men in their starting eleven against Manchester United: Jaaskelainen, Steinsson, Wheater, Cahill, Robinson, Elmander, Holden, Muamba, Petrov, Davies, Sturridge.
Lee, Taylor and Klasnic were used as substitutes.