Jeff Schlupp's late winner earned Leicester a first victory in 10 matches to move the Foxes above Bolton into the Championship play-off places.
David Ngog's penalty put Bolton ahead after two minutes but Chris Wood's spot-kick and a Lloyd Dyer effort put the hosts ahead just before the break.
Darren Pratley equalised for the visitors when he finished from a Sam Ricketts' cross.
But Schlupp scored Leicester's third with a volley to move them up to sixth.
Bolton, who are now a point behind Nigel Pearson's team, made an ideal start when Ngog scored from the spot after Wes Morgan tripped Lee Chung-Yong.
Leicester pulled level when Danny Butterfield hauled Dyer down and Wood beat Adam Bogdan with the resulting penalty.
Two minutes later Wood sucked in three Bolton defenders before picking out Dyer to drive in off the underside of the bar.
Craig Davies hit the post just before the hour and Dougie Freedman's team hit back when Pratley finished off from a Ricketts cross.
But with 11 minutes remaining, German Schlupp's powerful finish restored Leicester's advantage.
Home goalkeeper Kasper Schmeichel denied Davies and Zat Knight glanced wide as Pearson's team held on for a first win since 26 February.
Leicester boss Nigel Pearson:
"Bolton have been on a good run and we have been on a bad run and I'm sure some people would have felt 'here we go again'.
"But we showed a lot of character and a lot of moral fibre - and also a bit of quality too.
"However, I don't think that has particularly been lacking in recent games. In the games prior to this we have been unlucky and haven't got what we deserved, the margins are so small."
Bolton boss Dougie Freedman:
"What a fantastic game of football that was. What a great advert for the Championship.
"A neutral would have thoroughly enjoyed it and I was no different.
"It was a frantic end-to-end game which was full of spirit from both sides. It was Leicester's night in the end but I know what I have in that dressing room - players with plenty of spirit.
"Their performance was fantastic and we created plenty of opportunities. That kind of form and spirit in the next three games will give us a chance to get back into the play-offs."
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +5:40
Kasper Schmeichel takes the direct free kick.90:00 +5:40 Booking
Booking Marcos Alonso booked for unsporting behaviour.90:00 +5:20
Marcos Alonso challenges Wes Morgan unfairly and gives away a free kick.90:00 +4:01
Corner from left by-line taken by Chris Eagles.90:00 +3:32
The offside flag is raised against Chris Wood. Free kick taken by Adam Bogdan.90:00 +1:31 Substitution
Substitution (Leicester) makes a substitution, with Zak Whitbread coming on for Jeff Schlupp.89:17
Samuel Ricketts fouled by Danny Drinkwater, the ref awards a free kick. The ball is swung over by Chris Eagles, Header by Zat Knight from deep inside the penalty area misses to the left of the target.88:24
Outswinging corner taken by Chris Eagles from the right by-line.86:34 Substitution
Substitution Tom Eaves is brought on as a substitute for David Ngog.82:51
Chris Eagles has a mishit shot.80:49
Craig Davies takes a shot. Save by Kasper Schmeichel. Corner taken right-footed by Chris Eagles from the left by-line, clearance made by Wes Morgan.80:49 Substitution
Substitution Danny Drinkwater on for Anthony Knockaert.80:49
Corner taken right-footed by Chris Eagles,78:19 Goal scored
Goal! - Jeff Schlupp - Leicester 3 - 2 Bolton Jeff Schlupp finds the back of the net with a goal from just outside the box to the bottom right corner of the goal. Leicester 3-2 Bolton.77:38 Substitution
Substitution Lloyd Dyer leaves the field to be replaced by David Nugent.76:06
Free kick awarded for a foul by Samuel Ricketts on Lloyd Dyer. Matty James crosses the ball from the free kick right-footed from left channel, clearance made by Samuel Ricketts.70:35
Assist by Samuel Ricketts.70:35 Goal scored
Goal! - Darren Pratley - Leicester 2 - 2 Bolton Darren Pratley grabs a goal from deep inside the penalty box to the bottom right corner of the goal. Leicester 2-2 Bolton.69:31
Inswinging corner taken by Chris Eagles, Paul Konchesky manages to make a clearance.
Anthony Knockaert has an effort at goal from just outside the penalty box which goes wide of the left-hand post.59:15
Craig Davies takes a shot from long distance that bounces off the post.58:34 Substitution
Substitution Samuel Ricketts replaces Danny Butterfield.57:35
Corner taken right-footed by Matty James from the left by-line, Zat Knight manages to make a clearance.55:53 Substitution
Substitution Joshua Vela leaves the field to be replaced by Craig Davies.51:40
Chris Eagles has shot on goal from just outside the penalty box which goes wide of the right-hand upright.50:18
Inswinging corner taken right-footed by Matty James from the left by-line, clearance made by Zat Knight.48:29
Lloyd Dyer produces a cross.46:33
Inswinging corner taken right-footed by Matty James from the left by-line, David Ngog makes a clearance.45:01
The referee blows his whistle to start the second half.45:00 +2:18 Half time
Half Time The ref blows to end the first period.45:00 +1:39
Foul by Chris Wood on Marcos Alonso, free kick awarded. Marcos Alonso takes the direct free kick.44:59
Unfair challenge on Marcos Alonso by Ritchie De Laet results in a free kick. Free kick taken by Marcos Alonso.43:38
Chris Eagles takes the outswinging corner, Marcos Alonso takes a shot. Save by Kasper Schmeichel.42:01 Booking
Booking Lloyd Dyer booked.40:45
Assist on the goal came from Chris Wood.40:45 Goal scored
Goal! - Lloyd Dyer - Leicester 2 - 1 Bolton Lloyd Dyer gets on the score sheet with a goal from inside the penalty area high into the middle of the goal. Leicester 2-1 Bolton.38:51
The assist for the goal came from Lloyd Dyer.38:51 Goal scored
Goal! - Chris Wood - Leicester 1 - 1 Bolton Placed penalty scored by Chris Wood. Leicester 1-1 Bolton.38:11
Foul by Danny Butterfield on Lloyd Dyer, Penalty awarded.36:29
Lloyd Dyer takes a short corner.35:21
The ball is sent over by Lloyd Dyer, Zat Knight makes a clearance.34:39
Craig Dawson challenges Chris Wood unfairly and gives away a free kick. Kasper Schmeichel restarts play with the free kick.33:21
Foul by Mohamed Medo on Jeff Schlupp, free kick awarded. Free kick crossed left-footed by Paul Konchesky from left channel, clearance by Marcos Alonso.31:54
Andy King challenges Darren Pratley unfairly and gives away a free kick. Adam Bogdan takes the direct free kick.27:05
Craig Dawson gives away a free kick for an unfair challenge on Chris Wood. Chris Wood fires a strike on goal direct from the free kick, save made by Adam Bogdan.25:46
Effort on goal by Chris Wood from 20 yards. Adam Bogdan makes a comfortable save.23:15
A cross is delivered by Anthony Knockaert, Zat Knight manages to make a clearance.23:02
Corner from the right by-line taken by Matty James, David Ngog manages to make a clearance.21:07
Free kick awarded for an unfair challenge on Joshua Vela by Ritchie De Laet. Chris Eagles crosses the ball from the free kick right-footed from left channel.20:01
Outswinging corner taken right-footed by Chris Eagles, Andy King manages to make a clearance.19:10
Jeff Schlupp produces a right-footed shot from the edge of the box and misses to the left of the target.16:47
Ritchie De Laet delivers the ball, Shot on goal by Chris Wood from inside the box goes harmlessly over the target.16:04
Corner taken right-footed by Matty James from the left by-line, Zat Knight makes a clearance.13:13
Shot by Lloyd Dyer from deep inside the penalty area misses to the left of the goal.5:25
Jeff Schlupp fouled by Marcos Alonso, the ref awards a free kick. Anthony Knockaert produces a strike on goal direct from the free kick.3:10
David Ngog gives away a free kick for an unfair challenge on Wes Morgan. Free kick taken by Kasper Schmeichel.2:36
Assist on the goal came from Chung-Yong Lee.2:36 Goal scored
Goal! - David Ngog - Leicester 0 - 1 Bolton Penalty taken right-footed by David Ngog and scored. Leicester 0-1 Bolton.1:11
Wes Morgan challenges Chung-Yong Lee unfairly and gives away a Penalty.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers