Lee McCulloch's bullet header gave Wigan the points with Manchester City clearly looking towards Monday's FA Cup quarter-final against West Ham.
Antoine Sibierski (l) challenges Wigan's Leighton Baines
City boss Stuart Pearce made eight changes from the team that beat Aston Villa in the fifth round on Tuesday.
David James continued in goal, but made a hash of a back-pass to concede the corner that McCulloch headed home.
City offered little going forward and have an injury concern over Georgios Samaras, who limped off on the hour.
The Greek striker had started on the bench but lasted only half an hour before being forced off with an ankle injury, and is now a doubt to face the Hammers.
With that game in mind, Pearce fielded a completely new back four and front two, with only James, Sun Jihai and Trevor Sinclair remaining from the team that beat Aston Villa on Tuesday.
In contrast Wigan were unchanged from last week's win over Sunderland - their first in eight games - and they made the brighter start against a City team looking for their eighth straight home win.
The Latics created the first clear chance on 13 minutes when Sylvain Distin failed to deal with a spinning ball and Henri Camara ran on before blasting his shot over the bar.
City almost took the lead in bizarre circumstances soon after when Wigan keeper John Filan threw the ball against Distin's head and the ball cannoned on to the bar.
However referee Martin Atkinson gave the Latics a free-kick for hand-ball in any case.
That was as good as it got for City in front of goal but Wigan were soon threatening again.
With Camara lurking, Distin opted to poke the ball away from James on the edge of the area. It fell invitingly for Gary Teale but James got back to save his shot.
The England goalkeeper has been in consistent form for City this season but it was his error that led to Wigan taking the lead after half-time.
James miscued two successive backpasses with the second bouncing out for a corner, from which Jimmy Bullard crossed for McCulloch to power his header into the top corner.
Another backpass by Ben Thatcher put James in trouble again soon after, but this time he cleared with Jason Roberts closing in fast.
City belatedly pushed forward in search of an equaliser but they were as unconvincing going forward as they were uncoordinated at the back.
They only managed one chance of note when Stephen Ireland sent Sinclair clear late on - but he did not get enough power behind his shot to trouble Filan.
Roberts should have added a second for Wigan in injury time after David Sommeil's slip and, although James was at his best to push the ball wide, it did not make up for his earlier mistake.
Manchester City manager Stuart Pearce:
"We brought our club captain and two international full-backs back.
"There were one or two youngsters but in the main the performance was responsible for the result rather than the team selection.
"We did not compete well enough, or get the ball down and play when we did compete with them."
Wigan boss Paul Jewell:
"I think City had one eye on the FA Cup. But you should not take anything away from our win, we were the best side throughout.
"We restricted them to not many attempts on goal and it was a decent team performance.
"But we had some really good situations and we have to make them count. We are always trying to be better."
Man City: James, Danny Mills, Sommeil, Distin, Thatcher, Sinclair, Reyna (Croft 66), Ireland, Jihai, Sibierski (Samaras 27), Wright-Phillips, Samaras (Miller 61).
Subs Not Used: Weaver, Richards.
Booked: Wright-Phillips, Danny Mills.
Wigan: Filan, Chimbonda, De Zeeuw, Scharner, Baines, Teale, Kavanagh, Bullard, McCulloch, Camara (Johansson 85), Roberts.
Subs Not Used: Walsh, Jackson, Mahon, Ziegler.
Goals: McCulloch 55.
Ref: M Atkinson (W Yorkshire).