The visitors put talk of dressing-room disharmony aside to produce the perfect team display at Upton Park on Saturday.
City, without suspended former Hammers striker Carlos Tevez, dominated from kick-off, and it was no surprise when Yaya Toure rifled in the opener on the half-hour mark.
The home side rallied after the break and had appeals for a penalty turned down for handball against Yaya Toure.
However, the Ivory Coast midfielder then helped the visitors double their lead when his shot hit the post and went in off goalkeeper Robert Green, before substitute Johnson wrapped things up with nine minutes left.
James Tomkins headed in a late consolation for the Hammers, who face a real battle for survival in 2011.
The visitors should have taken an early lead when Mario Balotelli - involved in a training ground bust-up with team-mate Jerome Boateng earlier this month - missed his kick in the six-yard box from Jo's low cross.
West Ham looked to hit City on the counter-attack, but despite some promising runs from Scott Parker, there were few options offered in the final third.
Junior Stanislas fired his 25-yard free-kick high into the Sir Trevor Brooking Stand.
Upton Park nearly sparked into life after 22 minutes when Stanislas cut inside the City box from the left and drilled an angled strike goalwards, which Joe Hart did well to hold.
Yaya Toure ran through the West Ham rearguard, but his flick from just inside the penalty area lacked power.
City went in front after 30 minutes after a quick break when Gareth Barry fed the ball back to Yaya Toure just inside the area.
Despite an attempted diving tackle by Jonathan Spector, the midfielder crashed his shot into the top corner.
The travelling supporters were chanting "We're going to win the league" as the visitors went close to a second goal when Pablo Barrera hacked Balotelli's header off the line.
The home fans, though, had little to cheer about, with the atmosphere inside Upton Park very flat.
Parker remained industrious and created space for a 20-yard effort, which sailed harmlessly wide.
Julien Faubert did well to turn and whip the ball across the City penalty area, and Frederic Piquionne was unfortunate to see his header fly just over.
West Ham needed some inspiration for the second half, but there was little forthcoming - much to the frustration of the home support.
Victor Obinna drilled the ball in towards the near post from the right, but Hart got there just ahead of Piquionne.
Yaya Toure tried his luck from long distance with a fierce effort, but Green showed strong hands to pluck the ball out of the air.
There were more than a few hefty challenges being put in by both sides, as referee Phil Dowd did his best to let the game flow.
However, as the hour mark approached, Balotelli had pushed his protests too far and was cautioned.
Mancini withdrew Balotelli, sending on England international Johnson, possibly to avoid the temperamental Italian getting himself sent off.
It just about summed up West Ham's afternoon when Obinna cut the ball back from the byline, and Piquionne stepped over - only for Barrera to blast his shot high into the Bobby Moore Stand.
This was a good spell for West Ham now, as for the first time in the match, City came under some sustained pressure.
There were penalty appeals for handball against Yaya Toure as a corner came in, but with so many players jumping, it would have been somewhat harsh.
After 73 minutes, Yaya Toure picked up the ball on the left, ghosted past marker James Tomkins and darted goalwards. His shot hit the near post, bounced off the unfortunate Green's back and into the net for an own goal.
Not surprisingly, all the spirit was drained from the hosts, who continued to defend deep.
The home side were caught again when David Silva slipped in Johnson, who rounded Green and wrapped things up for big-spending City with nine minutes left, before Tomkins headed in a late consolation.