The Potters, who had lost their previous three home games, grew in stature after Neil Mackenzie's first goal for the club in the ninth minute. Graham Kavanagh miscued his attempt to convert McMahon's low cross but the ball broke kindly for McKenzie who drove a 20-yard shot past Phil Whitehead.
Oxford should have levelled in the 26th minute when they hit the bar three times in quick succession, but Stoke took full advantage of their luck to go two up with a goal eight minutes before the break. Again McMahon carved the opening and Mike Macari scooped a shot high into the net. Oxford's substitute, Paul Moody, scored a late consolation.
Charlton picked up three points for the first time since Boxing Day with a 3-1 victory over Tranmere, who had Pat Nevin sent off near the end for a professional foul on the substitute Kevin Lisbie.
Charlton went ahead in the sixth minute when Mark Kinsella's firmly- hit shot from 25 yards went under Eric Nixon's body. Tranmere equalised when a shot from Kenny Irons took a deflection past Andy Petterson.
The Londoners before they regained the lead in the 42nd minute when Carl Leaburn headed in a cross from Martin Robinson, who had made a stunning break, and wrapped up the points in the 89th minute with Mark Robson's penalty after Nevin's foul.Reuse content