Pedro Pereira's 86th-minute equaliser salvaged a 2-2 draw for Bristol City against Wigan after Chey Dunkley's brace looked to have earned victory for the Latics at Ashton Gate.
The home side took a 39th-minute lead when Rodri's acrobatic shot was blocked into the path of Tommy Rowe. His precise pass inside the box found Andreas Weimann, whose low drive eluded David Marshall and a defender on the line.
Wigan responded five minutes later from Joe Williams' right-wing corner. A flick-on found Chey Dunkley unmarked to hammer the ball into the roof of the net from 10 yards.
City fell victim to a similar goal after 53 minutes as Wigan took a 2-1 lead. This time Williams' corner from the right was straight onto the head of Dunkley, whose firm downward header crossed the line despite Dan Bentley getting a hand to it.
But it was Wigan undone from a corner four minutes from time. Pereira met an inswinging cross from the right by substitute Niclas Eliasson with another downward header to earn City a point.
Wigan had created the better chances before Weimann broke the deadlock.
Sam Morsy forced a 21st-minute save from Bentley with a shot from distance and soon after Jamal Lowe robbed Rowe and strode forward before seeing his fierce drive well blocked by City defender Ashley Williams.
Gavin Massey then saw his effort narrowly miss the target before City's first moment of danger saw Kasey Palmer's cross into the box drift narrowly wide of the far post.
Weimann headed straight at Marshall from a move inspired by Callum O'Dowda's strong run across the middle of the pitch, but the opening goal came as something of a surprise.
Dunkley's leveller was no more than Wigan merited and there was plenty for City head coach Lee Johnson to ponder at the interval.
City were forced into a change at the start of the second half, winger Eliasson replacing centre-back Taylor Moore, who had taken a knock in a collision with team-mate Palmer just before the interval.
Rowe dropped into a back-line soon under pressure again as Wigan began brightly. Lowe latched onto a misplaced pass from O'Dowda and moved forward to shoot wide from 20 yards.
Paul Cook's men were rewarded with Dunkley's second goal and Johnson responded with a double change, sending on Han-Noah Massengo and Sammie Szmodics for Palmer and Rodri.
Wigan had a golden chance to go 3-1 ahead, and possibly wrap up the points, in the 59th minutes. Massey broke clear through the middle and saw his shot blocked by the advancing Bentley when a pass to Morsy on his left would have left the skipper facing an empty net.
But after Pereira's goal it was City who should have snatched all three points, Weimann failing to beat Marshall one-on-one, the keeper saving bravely and seeing the ball bounce up onto the crossbar before being cleared.