Championship Wrap: Leicester pull clear
Nigel Pearson's men were behind twice in a first half that produced six goals, and had to wait until the 75th minute to move in front for a second time as Lloyd Dyer fired home following an excellent run.
Gary Taylor-Fletcher wrapped up Leicester's win in the final minute with his first league goal for the club since joining from Blackpool.
In-form Derby County climbed up to second with their eighth success in nine games, a 2-1 triumph at bottom club Barnsley.
With Burnley and QPR both drawing, Derby took advantage with the aid of two goals from Chris Martin.
Steve McClaren's side have 44 points and are ahead of Burnley, who were held to a 0-0 draw by Wigan Athletic, on goal difference.
QPR are now fourth, having also drawn 0-0 at Watford.
An 84th-minute goal from Matt Derbyshire earned Nottingham Forest a 2-1 win over Leeds United, moving the former into fifth.
Ipswich Town complete the top six despite being held to a 1-1 draw at Bournemouth.
Aitor Karanka's Middlesbrough recorded a 3-0 home win over Reading to claim three points for the third match in succession.
The visitors to the Riverside Stadium had to play the final 38 minutes with 10 men after defender Kaspars Gorkss picked up a second yellow card.
Elsewhere on Sunday, Lee Novak scored twice as Birmingham City beat Blackburn Rovers 3-2 and Inigo Calderon gave Brighton and Hove Albion a 1-0 win at Blackpool.
None of Barnsley's rivals at the foot of the table were able to claim victory.
Yeovil Town suffered a heavy 5-1 reverse at the hands of Huddersfield Town, while Sheffield Wednesday were grateful to on-loan striker Connor Wickham as he grabbed his sixth goal for the club in a 1-1 draw with Charlton Athletic.
Doncaster Rovers and Millwall, who sit 21st and 20th respectively, played out a 0-0 draw at the Keepmoat Stadium.