Manchester City took a big step towards guaranteeing their Premiership survival by beating fellow strugglers Fulham.
Joey Barton celebrates scoring City's opening goal
City took the lead when Joey Barton fired home from the edge of the area.
DaMarcus Beasley rounded off a fluid move with a neat finish to make it 2-0 and Liam Rosenior's mistake let Darius Vassell run clear and add a third.
Fulham pulled one goal back through a Carlos Bocanegra header and bombarded City's goal in the closing stages but could not find a way through.
The victory was a third in a row on the road for Stuart Pearce's side and means they have 40 points - nine points clear of third-bottom Sheffield United with six games to go.
Fulham are more precariously placed - just four points above the Blades and having played a game more.
Given their abysmal record away from Craven Cottage - just one win all season - Fulham know they need to win their home games to stay up.
They came out at City with the intention of doing so but were restricted to long-range shots from Simon Davies, who just missed the target, and Alexi Smertin, who brought a fine save out of Andreas Isaksson.
City, with Emile Mpenza operating on his own up front, were hardly much of a threat at the other end but looked comfortable soaking up the home pressure.
So it was something of a surprise when the visitors took the lead on 21 minutes. After some good work from Mpenza down the left, Michael Brown's attempted clearance fell for Barton and he steadied himself before firing past Antti Niemi.
Fulham could do little else apart from keep coming forward but they were caught out by a swift counter-attack for City's second goal on 36 minutes.
Michael Ball cut out a through-ball and a quick exchange of passes by Michael Johnson and Barton found Beasley running clear to slot home.
The Cottagers should have pulled one back before the break when Brian McBride nodded a Davies free-kick wide at the far post but, equally, they had Niemi to thank for keeping out Nedum Onuoha's header.
City have never relinquished a lead once they have gone ahead in the Premiership this season.
That statistic may owe more to their failure to score in over half of those matches than anything else but Pearce's side looked more than comfortable here once they added third goal just before the hour mark.
Fulham could have had a penalty when the ball hit Onuoha's hand in the box but instead City cleared their lines and Rosenior could only direct Mpenza's pass into the path of Vassell, who had time to pick his spot.
That really should have been game-over for the home side but things are rarely straightforward when City are involved.
Bocanegra's 76th-minute header gave Fulham hope and was the cue for a late barrage on Isaksson's goal from a series of corners and free-kicks.
There was no shortage of effort from Chris Coleman's men but City held out and left London with a vital victory.
Manchester City manager Stuart Pearce:
"Reaching the 40 point mark was not a target for us. I've told the players our focus should be to stay undefeated for the rest of the season. "I am not sure whether that will happen because we have some very tough games.
"But it is very important for everybody at the club that we end this season on a high note."
Fulham boss Chris Coleman:
"I have got a dressing room full of dejected players.
"We knew City would come here and play 4-5-1 and they defended very well. We struggled to find any penetration until near the end.
"This leaves us in a dogfight and now we have to go to Reading on Saturday and come away with something."
Fulham: Niemi, Volz, Christanval, Bocanegra, Rosenior, Routledge (Dempsey 73), Smertin (Radzinski 55), Brown, Davies, McBride, Helguson (Montella 58).
Subs Not Used: Lastuvka, Knight.
Goals: Bocanegra 76.
Man City: Isaksson, Onuoha, Distin, Dunne, Ball, Jihai, Johnson, Barton, Beasley (Sinclair 81), Vassell (Samaras 85), Mpenza.
Subs Not Used: Weaver, Dabo, Trabelsi.
Booked: Beasley, Vassell, Barton.
Goals: Barton 21, Beasley 36, Vassell 59.
Ref: S Bennett (Kent).