A solitary strike from Elano was enough to end West Ham United's involvement in this season's FA Cup after a disappointing third-round replay on Wednesday night.
The Brazilian playmaker found the net with virtually Manchester City's first effort on target on 73 minutes, nodding in from close range after substitute Rolando Bianchi had headed against the post from Martin Petrov's cross. The slender success means City will go through to play Sheffield United in the fourth round, while Alan Curbishley will hope for much better when the sides meet again in the league on Sunday.
The visitors made three changes from the side that beat Fulham 2-1 at the weekend with captain Lucas Neill returning at right-back for Jonathan Spector after a hamstring injury suffered in the first meeting with City. Further forward, Lee Bowyer replaced Hayden Mullins and Luis Boa Morte was in for Carlton Cole up front.
The first half was a disappointing affair although the visitors went into the break having had the better of it. As in the first meeting in east London, both central defensive pairings were very much on top but Dean Ashton did elude Richard Dunne and Micah Richards on the half-hour mark. Luis Boa Morte picked him out on the edge of the six-yard box - only for his firm volley to unfortunately smash against Joe Hart in the City goal.
At the other end, City saw their new Mexican signing Nery Castillo carried off on 35 minutes with a dislocated shoulder following a challenge by Neill. That led to City, now boasting Bianchi in attack, having a period of pressure after but ultimately it came to nothing. It was West Ham United who would finish the half stronger, with Etherington playing in Bowyer to the right of Hart's goal only for his shot to flash wide.
It was a similar story after the break, with the Hammers dominating the opening stages. On 52 minutes, Boa Morte burst through after an outstanding passing movement involving Bowyer and Ashton. With Ljungberg waiting in the centre for a squared pass, Boa Morte opted to shoot and Hart was able to smother the ball away. Darius Vassell nearly broke away three minutes later before Neill and George McCartney cleared the danger.
As the hour approached, City finally created something with Petrov playing in a cross along the six-yard box that Bianchi connected with but could not steer goalwards. The match had finally come to life and, up the other end, Ashton cut inside off the touchline before shooting over from distance. Upson and then Ferdinand had to show their aerial prowess as City played in precise crosses. It was beginning to be end to end stuff.
Curbishley sensed the tie was there for the taking and on 62 minutes he introduced Julien Faubert for Ljungberg. The French winger instantly showed his pace and left Dietmar Hamann in his wake. The German midfielder had no choice but to bring him down and in turn earned the first yellow card of the evening. He was soon followed into the book by Boa Morte after he upended Elano, the only City player who had missed the first meeting.
Cole soon entered for the Portuguese forward in the 70th minute but within two minutes Petrov was to conjure the only goal. He raced past Neill to the byline and chipped to the back post for Bianchi to head beyond Robert Green. When the ball crashed against the post, it was Elano who reacted quickest to head in from close range. Lead secured, City appeared content to defend what they had and introduced Gelson for Vassell.
Bowyer nearly earned an equaliser in the 83rd minute, hooking the ball over Hart after sneaking in behind the defence but Richards was able to clear. West Ham United refused to give up as Ashton then fired in a shot that Hart smothered just as Upson was about to pounce. Petrov and Elano also had good chances to add a second, though, as Hammers hopes of Wembley fizzled away for another season.
West Ham United: Green, Neill (c), Ferdinand, Upson, McCartney, Ljungberg (Faubert 70), Bowyer, Noble, Etherington, Boa Morte (Cole 70) , Ashton
Subs: Wright, Spector, Mullins
Manchester City: Hart, Corluka, Richards, Dunne (c), Ball, Ireland, Hamann, Elano, Petrov, Vassell (Gelson 81), Castillo (Bianchi 35)
Subs: Schmeichel, Onuoha, Garrido