Edin Dzeko's header saw Manchester City beat Wigan to extend their lead at the top of the Premier League to three points over Manchester United.
The Bosnian leapt to deftly flick home David Silva's free-kick from the left midway through the first half.
Ali Al Habsi then denied Dzeko a second with a fine save before matching it by keeping out Silva's follow-up shot.
But, although James McArthur and James McCarthy had good chances, the hosts could not find a way past Joe Hart.
City could have made the game safe, with Dzeko's deflected effort again saved and Sergio Aguero shooting wide from 12 yards late on.
There was a moment of late controversy when Wigan defender Maynor Figueroa escaped with a yellow card after handling the ball on the halfway line to stop Aguero racing clear.
But City will be grateful for a hard-fought victory, their first away from home since beating QPR on 5 November and a return to winning ways after consecutive cup defeats.
While Wigan defended compactly, they could not contain their high-scoring opponents, who, in 21 games, are now on 57 goals, just three short of the total number they scored last season.
Defeat for Roberto Martinez's team means that they remain at the bottom of the table, continuing a miserable run of form at home, where they have not won in the league since August.
With Silva back in the side following an ankle injury, City had a good rhythm to their passing as they probed throughout the first half.
DID YOU KNOW?
- Joe Hart kept his ninth Premier League clean sheet of the season, the joint most by a goalkeeper, equalling Swansea City's Michel Vorm.
They suffered an early scare when, in a frantic passage, Hugo Rodallega could not capitalise on Joleon Lescott's error, Gareth Barry nudged over Jordi Gomez in the penalty area to wild appeals and McArthur's shot was deflected wide.
But, once they rode that storm, Silva proved his worth by floating into space and, although several moves broke down, the visitors were dominating possession.
Dzeko flashed a header wide from Gael Clichy's cross but that the lead came from a set-piece showed how hard Martinez's team were working with their five-man defence.
It took a fine jump by Dzeko to turn in Silva's free-kick, after the Bosnian had been tripped, and the striker's 14th goal of the season settled the visitors down.
Wigan did have their moments on the break with Victor Moses, playing behind Rodallega, firing over and McArthur testing Hart, although when City committed men to attack they were quick to counter and Al Habsi saved well from Aguero before half-time.
Despite their poor home record, the hosts had already drawn with Liverpool and Chelsea at the DW Stadium this season and they started the second period brightly, but only Al Habsi will know how he prevented City doubling their lead soon after the break.
The Oman keeper made a superb double stop to deny Dzeko, then Silva, and when Aguero dribbled his way into the six-yard box both the Argentine and Dzeko failed to make proper contact and the chance was spurned.
While Wigan were hanging on they always posed a threat, with Jordi Gomez impressive in midfield. And they were a toe's width from equalising when Rodallega put McCarthy through, his left-footed shot being well thwarted by England keeper Hart, who ensured his ninth Premier League clean sheet of the campaign.
Substitutes Ben Watson and Franco di Santo added some extra zeal to Wigan's play, although City had the better chances towards the end, Dzeko and Aguero both failing to take advantage of good opportunities.
City's fans were spitting mad when Figueroa only received a yellow card when, with Aguero on his shoulder, he handled the ball on the halfway line late on to stop another City counter-attack.
But, on a freezing night, City boss Roberto Mancini will be content to send his team's fans home with a victory which is evidence that, after a small blip, they have again warmed to their title challenge.
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +4:14
The referee blows for offside against Adam Johnson. Ali Al Habsi takes the indirect free kick.90:00 +2:02
Nedum Onuoha fouled by Victor Moses, the ref awards a free kick. Joe Hart restarts play with the free kick.90:00 +0:28 Substitution
Substitution Adam Johnson joins the action as a substitute, replacing Sergio Aguero.89:04
Gary Caldwell gives away a free kick for an unfair challenge on Edin Dzeko. James Milner crosses the ball from the free kick right-footed from left wing, clearance by James McCarthy.88:03
Joleon Lescott takes the direct free kick.88:03 Booking
Booking James Milner goes into the referee's book.88:02 Booking
Booking Maynor Figueroa receives a yellow card for unsporting behaviour.87:58
Maynor Figueroa is adjudged to have handled the ball.87:40
Antolin Alcaraz takes a shot. Blocked by Pablo Zabaleta.87:08
Outswinging corner taken by Ben Watson.85:50
Unfair challenge on Gareth Barry by Victor Moses results in a free kick. Gael Clichy takes the free kick.84:15
Joleon Lescott gives away a free kick for an unfair challenge on Victor Moses. Free kick crossed right-footed by Ben Watson from right by-line, Edin Dzeko makes a clearance.83:25
Sergio Aguero has an effort at goal from just inside the box that misses to the left of the target.81:15
Corner taken right-footed by James Milner from the left by-line to the near post, clearance made by James McCarthy.81:04
Edin Dzeko takes a shot. Save made by Ali Al Habsi.80:20 Substitution
Substitution Callum McManaman joins the action as a substitute, replacing Jordi Gomez.80:06 Substitution
Substitution Nedum Onuoha joins the action as a substitute, replacing David Silva.79:32
Antolin Alcaraz takes the free kick.79:32 Booking
Booking Nigel De Jong shown a yellow card.
Nigel De Jong concedes a free kick for a foul on Hugo Rodallega.78:57
Free kick taken by Nigel De Jong.78:57 Booking
Booking James McCarthy booked.78:54
Free kick awarded for an unfair challenge on Edin Dzeko by James McCarthy.78:29
Franco Di Santo restarts play with the free kick.78:29 Booking
Booking Pablo Zabaleta is cautioned by the ref for unsporting behaviour.78:23
Unfair challenge on Franco Di Santo by Pablo Zabaleta results in a free kick.77:47
David Silva decides to take the corner short.77:41
The ball is delivered by James Milner, clearance made by Gary Caldwell.77:08
Pablo Zabaleta sends in a cross, clearance by Antolin Alcaraz.76:13
Free kick awarded for a foul by Franco Di Santo on Gareth Barry. Gareth Barry restarts play with the free kick.74:46
Corner taken right-footed by Ben Watson, Pablo Zabaleta manages to make a clearance.74:34
James McCarthy takes a shot. Save by Joe Hart.73:57
Free kick awarded for a foul by David Silva on Jordi Gomez. Gary Caldwell takes the direct free kick.72:53
Direct free kick taken by Joleon Lescott.72:53 Substitution
Substitution Samir Nasri goes off and Nigel De Jong comes on.72:53
Unfair challenge on Gareth Barry by James McCarthy results in a free kick.72:18
Franco Di Santo sends in a cross, save made by Joe Hart.71:09
James Milner concedes a free kick for a foul on Jordi Gomez. Antolin Alcaraz takes the free kick.69:41
James McCarthy takes a shot. Save by Joe Hart.68:28
Stefan Savic concedes a free kick for a foul on Hugo Rodallega. Ben Watson takes the free kick.67:22 Substitution
Substitution Ben Watson on for James McArthur.67:22 Substitution
Substitution Franco Di Santo replaces Albert Crusat.67:08
Cross/shot by Samir Nasri.65:23
Foul by James McArthur on James Milner, free kick awarded. Free kick taken by James Milner.64:43
Victor Moses challenges Stefan Savic unfairly and gives away a free kick. Free kick taken by Joe Hart.62:02
Corner taken by Samir Nasri.61:55
Gael Clichy crosses the ball.61:05
David Silva takes the direct free kick.61:05 Booking
Booking The referee cautions James McArthur for unsporting behaviour.60:54
Unfair challenge on Edin Dzeko by James McArthur results in a free kick.59:44
The assistant referee signals for offside against Sergio Aguero. Gary Caldwell takes the indirect free kick.57:11
Maynor Figueroa challenges Samir Nasri unfairly and gives away a free kick. Free kick taken by David Silva.54:53
Edin Dzeko takes a shot. Save by Ali Al Habsi.54:20
David Silva takes a shot. Save made by Ali Al Habsi.54:08
Edin Dzeko takes a shot. Save by Ali Al Habsi.52:07
Edin Dzeko concedes a free kick for a foul on Antolin Alcaraz. Ali Al Habsi takes the direct free kick.51:48
The offside flag is raised against Victor Moses. Free kick taken by Joe Hart.50:25
James McArthur has an effort at goal from just outside the penalty box which goes wide of the left-hand post.49:28
Ronnie Stam produces a cross, clearance made by James Milner.48:20
Jordi Gomez decides to take the corner short.47:39
Hugo Rodallega is caught offside. Joleon Lescott takes the free kick.46:30
Unfair challenge on Edin Dzeko by James McArthur results in a free kick. Joe Hart restarts play with the free kick.46:11
The ball is delivered by Jordi Gomez, Gael Clichy makes a clearance.45:01
The referee gets the second half started.45:00 +1:27 Half time
Half Time The referee calls an end to the first half.43:27
Sergio Aguero takes a shot. Save by Ali Al Habsi.43:11
Antolin Alcaraz crosses the ball, Gareth Barry makes a clearance.42:15
The referee blows for offside against Edin Dzeko. Gary Caldwell restarts play with the free kick.41:41
Unfair challenge on Gareth Barry by Hugo Rodallega results in a free kick. Direct free kick taken by Samir Nasri.40:20
Victor Moses fouled by Stefan Savic, the ref awards a free kick. Free kick crossed left-footed by Jordi Gomez from left wing.39:05
Joleon Lescott concedes a free kick for a foul on Victor Moses. Jordi Gomez takes the direct free kick.35:16
Victor Moses is flagged offside by the assistant referee. Free kick taken by Joe Hart.33:26
Gareth Barry concedes a free kick for a foul on James McCarthy. Free kick taken by Gary Caldwell.32:08
David Silva takes a shot. Gary Caldwell gets a block in.28:40
James McArthur takes a shot. Save by Joe Hart.27:44
Ronnie Stam crosses the ball.27:32
Free kick awarded for an unfair challenge on Jordi Gomez by David Silva. Direct free kick taken by James McCarthy.26:59
Samir Nasri challenges James McCarthy unfairly and gives away a free kick. Maynor Figueroa restarts play with the free kick.25:49
Samir Nasri challenges Albert Crusat unfairly and gives away a free kick. Maynor Figueroa takes the free kick.24:42
Free kick awarded for a foul by Stefan Savic on Victor Moses. James McArthur takes the free kick.21:48
Assist on the goal came from David Silva.21:48 Goal scored
Goal! - Edin Dzeko - Wigan 0 - 1 Man City Edin Dzeko grabs a headed goal from inside the six-yard box. Wigan 0-1 Man City.21:10
Free kick awarded for an unfair challenge on Edin Dzeko by Antolin Alcaraz. The ball is sent over by David Silva,18:39
James McArthur challenges Pablo Zabaleta unfairly and gives away a free kick. Free kick taken by Pablo Zabaleta.15:47
Centre by Pablo Zabaleta.13:19
The referee blows for offside against Sergio Aguero. Ali Al Habsi takes the free kick.12:51
James McArthur concedes a free kick for a foul on Edin Dzeko. Free kick taken by James Milner.11:32
The referee blows for offside. Ali Al Habsi takes the free kick.11:20
David Silva takes a shot. Gary Caldwell gets a block in.10:16
Effort on goal by Victor Moses from just inside the box goes harmlessly over the target.8:23
A cross is delivered by Samir Nasri, Stefan Savic has a header from inside the six-yard box and clears the crossbar.8:03
Short corner taken by Samir Nasri.7:40
Samir Nasri takes a inswinging corner from the left by-line to the near post, clearance made by Hugo Rodallega.4:15
The ball is crossed by Gael Clichy, Edin Dzeko produces a header from close range which goes wide of the left-hand post.2:50
Hugo Rodallega gives away a free kick for an unfair challenge on Joe Hart. Joe Hart restarts play with the free kick.2:31
Short corner taken by Jordi Gomez from the right by-line.2:17
James McArthur takes a shot. Blocked by James Milner.2:07
Albert Crusat crosses the ball, clearance made by Gael Clichy.1:08
Free kick awarded for an unfair challenge on Victor Moses by James Milner. Gary Caldwell takes the direct free kick.0:00
The game kicks-off.
Live data and text provided by our data suppliers