Robinho celebrates after scoring his first City goal since 28 December
Robinho's first Manchester City goal of 2009 helped to see off bottom-side West Brom in a thrilling match.
The Brazilian volleyed home Stephen Ireland's cross to open the scoring and Nedum Onuoha's header made it 2-0 after it appeared Scott Carson was fouled.
Chris Brunt replied when he finished off a neat move and, after the break, he levelled with a whipped free-kick.
But Elano quickly restored City's lead from the spot after he was fouled and a late Daniel Sturridge goal sealed it.
It was a brave effort by West Brom and their adventurous approach should have brought them something out of the game.
But their defensive indiscipline cost them dear and is a big reason why they remain nine points adrift of safety at the bottom of the Premier League. With just five games left, they are now on the brink of a swift return to the Championship after one year in the top flight.
City, who had produced one of their best displays of the season in a vain effort to get past Hamburg in the Uefa Cup on Thursday, were not completely out of relegation trouble themselves coming into the game.
And, given how insipid Mark Hughes's side were in losing at home to Fulham last weekend, Baggies boss Tony Mowbray had every right to think his side were capable of what would have been only their second away win of the season.
The Baggies attacked from the start and showed their intentions when James Morrison's curling shot from the left-hand side of the area flew a whisker wide of Shay Given's far post.
But City were also finding space when they came forward and Robinho had already seen one low shot tipped wide by Carson when he opened the scoring in the eighth minute for his first club goal since he grabbed a last-gasp equaliser in a 2-2 draw at Blackburn on 28 December.
Long season taking its toll - Hughes
It was a beauty too, with the excellent Ireland flighting a tempting ball into the box that the Brazilian volleyed resoundingly into the net.
Falling behind did not dampen the Baggies desire, however, and they would have quickly drawn level had Abdoulaye Meite not somehow failed to turn in Jonathan Greening's cross at the near post.
So it was especially harsh on the visitors when Onuoha's header controversially extended City's lead after 21 minutes.
Elano's corner was headed straight up in the air by Meite and Onuoha reached the dropping ball first to nod home. It did seem that Carson was blocked by Felipe Caicedo in the build-up but the goalkeeper's protests to referee Mike Jones only succeeded in earning him a booking.
West Brom deserved better but they refused to be downhearted and were soon going at City again.
Brunt and Marc-Antoine Fortune both should have done better with headers when well-placed before Caicedo had to clear Robert Koren's header off the line with Given beaten.
And the visitors' adventurous approach finally paid off on 37 minutes when Fortune held up Koren's cross and teed up Brunt to slot home into the bottom corner.
Mowbray bemoans missed chances
The second half began in the same way the first period had ended - with City under pressure - and it took a timely tackle by Richard Dunne to deny Fortune as he shaped to meet Koren's cross.
When Brunt sent his 54th-minute free-kick through a crowd of players to draw the Baggies level, Mowbray's men appeared favourites to go on and win the game.
Instead they conceded a third goal just two minutes later thanks to the sort of defending that has seen them struggle throughout the season.
Elano chased a loose ball into the box and, after he was dragged down by Jonas Olsson's desperate lunge, picked himself up to confidently slot home the resulting penalty.
Even then the Baggies were not done and Olsson should have done better at the other end when he headed Brunt's corner over.
The game was wide open in the closing stages and, while substitute Sturridge missed a golden chance to wrap things up for City with a weak finish in front of goal, Fortune's low shot brought another fine save out of Given at the other end.
City were hanging on but West Brom paid the price of committing so many men forward in injury time when Martin Petrov's long ball found Ireland in space, and he crossed for Sturridge to make sure of victory from close range.
Manchester City boss Mark Hughes:
"We showed great commitment and we dug in.
"We had to - West Brom are fighting for their lives and we knew they would throw everything they had at us.
"And we are pleased Robinho is back on the goal trail too. It is his first in 2009 and important for him - hopefully he will go on a run now."
West Brom boss Tony Mowbray:
"We came here and we had a go.
"And we had enough chances to have won, the game even though the scoreline does not suggest that.
"Credit to my players, we came back into the game. Then we shot ourselves in the foot by giving away a penalty straight away.
"In our last five games we will try to stay positive. We will keep going and try to score goals and win matches."
Given, Zabaleta, Onuoha, Dunne, Bridge, De Jong, Kompany, Ireland, Elano (Fernandes 74), Caicedo (Sturridge 58), Robinho (Petrov 84). Subs Not Used: Hart, Richards, Garrido, Evans.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.