Match ends, Bolton Wanderers 1, Middlesbrough 2.
Jordan Rhodes scored twice, including an injury-time winner, as Championship leaders Middlesbrough came from behind to beat already-relegated Bolton.
Josh Vela fired Bolton in front from eight yards after Emile Heskey laid Dean Moxey's long throw into his path.
But Boro equalised when Rhodes, who was about to be replaced by David Nugent, drilled home from close range.
Rhodes then headed in Middlesbrough's second stoppage-time winner this week from three yards.
Minutes earlier, Boro's big-money transfer deadline day signing from Blackburn had hit the post and headed wide from six yards as the Teessiders sought a winner, while substitute Gaston Ramirez also scooped a shot over from close range.
But Rhodes was in the right place at the right time to nod in Nugent's cross in the first minute of injury time and leave Boro two points clear at the top after promotion rivals Burnley, who they face on Tuesday, won 2-1 at Birmingham.
Boro, who have now won six successive games, also scored an injury-time winner to beat Reading in midweek and this late show secured only their second victory at Bolton's current home.
Middlesbrough face promotion rivals Burnley and Brighton in their closing four games and, as such, have their fate in their own hands as they bid to return to the Premier League for the first time since 2009.
Aitor Karanka's side dominated the first half in terms of chances as Stewart Downing hit the bar from 25 yards, while Adam Forshaw, Daniel Ayala, Albert Adomah and Ritchie de Laet all failed to hit to target.
Mark Davies' backheel forced Boro keeper Dimi Konstantopoulos into a save from Bolton's best first-half opening.
Wanderers looked set for only their fifth win of the season after Vela put them in front but Rhodes had the final say to the delight of Boro's 4,302 travelling fans.
Middlesbrough boss Aitor Karanka:
"I told him [Rhodes] after the game that a goalscorer can't forget to score goals in two months.
"Always one day it would arrive that he would score goals and it was today - two important goals.
"I don't think it's been easy for him. He's not a strong character, you can see it in his face. The reason I am pleased for him is because sometimes when you do your best and you're unlucky you are going down. He was always trusting himself.
"Today, the most important day, he arrived and he was there to help the team."
Bolton interim manager Jimmy Phillips:
"That's [the level of performance] got to be the case from now until the end of the season.
"We encourage players to get on the ball, show as much in possession as they could, to be confident with it, because our league fate has been decided but also retaining a real competitive edge and defensive shape.
"There's still areas to work on, definitely, hopefully if we can achieve better ball retention, become harder to beat and still work hard that will set the players up for next season for those that are going to be here."
- 1AmosBooked at 80mins
- 6VelaBooked at 84minsSubstituted forWooleryat 88'minutes
- 19HeskeySubstituted forTrotterat 70'minutes
- 16DaviesBooked at 64mins
- 5de Laet
- 4AyalaBooked at 36mins
- 24NsueBooked at 33minsSubstituted forRamírezat 57'minutes
- 19DowningSubstituted forNugentat 87'minutes
- 9RhodesSubstituted forKalasat 90+4'minutes
- 10De Pena
- 16de Sart
- Keith Stroud
- Shots on Target
Second Half ends, Bolton Wanderers 1, Middlesbrough 2.
Offside, Middlesbrough. Gastón Ramírez tries a through ball, but David Nugent is caught offside.
Gastón Ramírez (Middlesbrough) wins a free kick on the right wing.
Foul by Rob Holding (Bolton Wanderers).
Substitution, Middlesbrough. Tomas Kalas replaces Jordan Rhodes.
Goal! Bolton Wanderers 1, Middlesbrough 2. Jordan Rhodes (Middlesbrough) header from very close range to the top left corner. Assisted by David Nugent with a cross.
Jordan Rhodes (Middlesbrough) hits the left post with a right footed shot from the right side of the six yard box. Assisted by David Nugent with a cross.
Substitution, Bolton Wanderers. Kaiyne Woolery replaces Josh Vela.
Attempt missed. Jordan Rhodes (Middlesbrough) header from the centre of the box is close, but misses to the left. Assisted by David Nugent with a headed pass following a corner.
Substitution, Middlesbrough. David Nugent replaces Stewart Downing.
Corner, Middlesbrough. Conceded by Dean Moxey.
Attempt missed. Ritchie de Laet (Middlesbrough) header from the centre of the box is close, but misses to the right. Assisted by Adam Forshaw with a headed pass following a corner.
Corner, Middlesbrough. Conceded by Darren Pratley.
Attempt blocked. Gastón Ramírez (Middlesbrough) left footed shot from outside the box is blocked.
Josh Vela (Bolton Wanderers) is shown the yellow card for a bad foul.
Gastón Ramírez (Middlesbrough) wins a free kick in the attacking half.
Foul by Josh Vela (Bolton Wanderers).
Attempt saved. Daniel Ayala (Middlesbrough) header from the centre of the box is saved in the top left corner. Assisted by Gastón Ramírez with a cross.
Corner, Middlesbrough. Conceded by Mark Davies.