Substitute Craig Davies scored from the penalty spot eleven minutes from time to secure a 2-1 win for Bolton Wanderers at Bristol City.
The energetic frontman emerged from the bench to coolly slot home to guarantee Wanderers’ third consecutive league win.
Dougie Freedman’s men went ahead inside the opening minutes courtesy of an own goal from Liam Fontaine with City equalising early in the second half through Steve Davies. But Bolton showed great spirit to withstand the Robins’ pressure and score the decisive third goal.
The Whites made one change from their 2-0 win against Wolves last weekend, Darren Pratley stepping in for Medo Kamara, with the Sierra Leone international taking his place on the bench.
Hosts Bristol City made two alterations from their last outing at Burnley, Sam Baldock and Lewis Nyatanga coming into the fray for Matthew Bates and Paul Anderson.
Wanderers, in their traditional home strip, made a dream start at Ashton Gate and continued their pattern of scoring early on.
Playing the ball around with precision and confidence, Chung-Yong Lee and Marcos Alonso linked up well on the left hand side allowing Pratley to make a clever run down the by-line.
Receiving possession, the former Swansea man immediately hit a low cross into the danger area for Fontaine to miss hit his clearance, taking it beyond his own goalkeeper into the back of the net.
As they did last weekend against Wolves, the men from the Reebok looked for a second before their opponents could settle into the contest.
Winger Chris Eagles, who played his part in the opening goal, sprung away from the Robins defence and slammed a right footed strike inches wide of Heaton’s left hand post.
Sean O’Driscoll’s City fashioned their first chance just before the quarter hour mark with the Robins coming close to scoring a bizarre equaliser.
Signed from Kilmarnock during the January transfer window, wide man Liam Kelly right wing cross was caught mid-flight catching Adam Bogdan wrong footed, fortunately the ball dropped inches wide of the far post.
City, eight points adrift of safety before the game kicked off, grew in confidence and showed they were capable of causing Freedman’s side problems.
Captain Marvin Elliott fired wide not long after and Ghanaian international whipped an inviting cross into the penalty area but no red shirts where on hand to convert at the back post.
Bolton’s next chance on Manchester United youth team graduate Heaton’s goal came midway through the first period.
Winning a free-kick after Spearing was fouled; Spaniard Alonso curled a 25-yard free kick creeping inches over after a heavy deflection from the Bristol City wall.
Moments later, Spearing was again involved hitting a thunderous left footed strike against a slick surface wide after excellent strength from David Ngog to hold off Brendan Moloney to create the opening.
At the other end of the field, Hungarian international Bogdan made a vital save from Baldock after the striker found room in-between the Wanderers’ centre halves.
As the first period came to a close, Spearing was withdrawn after picking up an injury, but the midfielder showed great determination to battle on for over five minutes whilst carrying the knock.
Freedman made a like for like change with Kamara introduced just before referee Mark Heywood blew for half time.
Following the restart, Wanderers started in bright fashion with Pratley seeing his 20-yard strike skid across the wet surface for the diving Heaton to turn round the post for a corner.
However in the 48th minute, from the run of play, City equalised after danger man Adomah escaped the challenge of Alonso to cross for the incoming run of Davies to head home his 13th of the campaign.
The game soon opened up, with both teams looking for maximum points for different reasons.
After a succession of corners and crosses were bravely defended by the Bolton backline, Marvin Sordell flashed a golden opportunity over the bar after a weaving run from Lee.
The 1286 supporters from the Reebok Stadium kept themselves heard throughout the 90 minutes at Ashton Gate in a thrilling second half.
Boss Freedman made his second change with just over 15 minutes to go, Davies coming on in place of Sordell as the Whites went in search of their third successive win.
With 11 minutes to go, Bolton were awarded a penalty after Ngog was fouled by Welsh international Lewis Nyatanga.
Stepping up confidently, substitute Davies calmly slotted the spot kick down the middle with the goalkeeper diving to his left to send the travelling support in raptures.
In the closing stages, Wanderers made their third and final change, defender Danny Butterfield coming on in place of Eagles after a tireless and energetic display from the Whites’ number seven.
Bolton continued to push forward for a third goal with match winner Davies having two chances but dragged both across the Ashton Gate turf.
Goalkeeper Heaton nearly turned hero for the hosts in stoppage time, at the opposite end to his own goal. Winning a corner, the shot stopper made a late run into the Bolton box to head onto the roof of the net.
The visitors firmly held their ground and secured all three points ahead of Tuesday’s trip to Leicester City.