Andy Cole scored twice as Manchester City eased to a win over West Ham.
Cole linked well with Darius Vassell before bending the ball across Roy Carroll's goal for the opener.
City dominated and Paul Konchesky made goal-line clearances from Vassell and Nedum Onuoha, while Yossi Benayoun denied Danny Mills in similar fashion.
Carroll made numerous saves but could not stop Cole from close range, while Bobby Zamora scored in injury-time for West Ham from Benayoun's through ball.
The result was no more than Stuart Pearce's team - up to fourth in the table - deserved after a performance in which they carved open West Ham's defensive line time and time again.
Cole and Vassell linked well, with the latter playing several telling passes and being heavily involved in much of City's incisive play.
But for a combination of excellent goalkeeping from Carroll and some errant finishing, the scoreline would have been more emphatic.
City started at a good pace and nearly scored after 10 minutes.
Mills flicked a teasing corner from Kiki Musampa towards goal only to be thwarted by Benayoun.
But West Ham were powerless to prevent Cole and Vassell's superb interplay creating the space for City's opener.
The two strikers exchanged passes, opening up the City defence, before Cole - who turned 34 on Saturday - curled the ball across Carroll from a tight angle.
Musampa then skipped past Tomas Repka and drilled in a low cross that Vassell turned towards goals, although Konchesky cleared the danger.
Stephen Ireland was allowed to run at the West Ham goal and eventually forced a save from Carroll, who also palmed away a fierce, angled strike from Mills.
On the stroke of half-time, Konchesky cleared off the line again, heading away Onuoha's effort after another Musampa corner rattled the West Ham defence.
The Hammers had little to show for their first-half endeavours, although Marlon Harewood thought he was fouled by Onuoha when clean through on goal.
Harewood also seemed certain to connect with a low Matthew Etherington cross but was denied by a superb challenge from Sylvain Distin.
City continued to threaten after the break - Carroll saving from Cole and Vassell in quick succession.
As the match opened up, a flick from Harewood inside his own half set Etherington through on goal but, after eluding three players in pursuit, he could find no way past James.
Carroll, who was becoming increasingly involved, saved from Vassell and then palmed away a strike from Musampa, but the ball broke for Cole via Danny Gabbidon and the striker smashed the ball into the net.
Cole should have completed his hat-trick after 75 minutes but, with time to pick his spot, he shot wide from 10 yards.
Benayoun almost notched a late goal for the Hammers but James smothered the ball at his feet.
But Benayoun did play his part in West Ham finding the net, his angled pass playing through substitute Zamora through to slide the ball past James on the stroke of full-time.
Man City: James, Mills, Onuoha, Distin, Jordan, Reyna, Barton, Ireland (Croft 81), Musampa (Jihai 87), Cole, Vassell.
Subs Not Used: Sommeil, Sibierski, De Vlieger.
Booked: Musampa, Jordan.
Goals: Cole 18, 56.
West Ham: Carroll, Repka (Dailly 45), Gabbidon, Ferdinand, Konchesky, Benayoun, Mullins, Reo-Coker, Etherington (Newton 82), Sheringham (Zamora 67), Harewood.
Subs Not Used: Bellion, Hislop.
Goals: Zamora 90.
Ref: M Clattenburg (Co Durham).