Bristol City fought back from 1-0 down to earn a crucial victory at fellow Championship strugglers Fulham.
After City’s Joe Bryan was denied in the opening seconds, Ross McCormack chipped Richard O’Donnell to give Fulham a third-minute lead.
But Marlon Pack levelled from long range midway through the second half and Lee Tomlin’s late free-kick won it for the visitors at Craven Cottage.
The defeat leaves Fulham just one point above the relegation zone.
City are four points ahead of third-from-bottom Rotherham and the survival prospects of Lee Johnson’s side could have been much better, had the Millers not come from 3-0 behind to draw with Derby.
Fulham went 4-0 up after 36 minutes of the reverse fixture at Ashton Gate in October and they made another fast start against the same opposition on home soil, McCormack netting an exquisite lob from a tight angle for his 21st goal of the season.
City boss Lee Johnson introduced Peter Odemwingie at half-time following his loan move from Stoke on Friday and the Nigeria international came close to a debut goal, but Ryan Fredericks made an excellent block to preserve Fulham’s 1-0 advantage.
But the visitors avoided a third successive league defeat in spectacular fashion as Pack equalised and O’Donnell made a stunning late save to keep City on level terms before Tomlin won it with a superb set-piece in added time.
Fulham manager Slavisa Jokanovic:
“We started the game very well and scored a good goal. But we didn’t control the last 30 minutes in the second-half. We got confused and started making mistakes.
“Our supporters are unhappy. They don’t deserve this at this moment at the level we are now. We are in a relegation battle and our situation is really clear. We have a war in front of us and we have to be ready for this situation. It’s not acceptable.
“I can say sorry to the fans as they push us and try and help us. Now it’s our turn to be obligated to do something different in our next game. I don’t want to think about relegation. It’s in our hands still so we must be brave to resolve this situation.”
Bristol City manager Lee Johnson:
“For Lee to get it up and over like he did, it always had a chance. It was a very big feeling when that nestled in the bottom corner. After training sessions he always has the ball out. The keepers stay out with him. Practise makes perfect. He can bend it like Beckham. He can’t run so he has to!
“That’s our fourth win in five away games. Sometimes we are better suited playing away. At home there’s been a lot of pressure on our players. It’s important we keep striving to go in one direction.
“We had a punch in the gut last game when we conceded in the last few minutes. This time we’ve won with the boldness in our decisions in the second half. I’m delighted for the players.”