Match ends, Shrewsbury Town 3, Oxford United 2.
Shaun Whalley scored twice as League One promotion contenders Shrewsbury beat Oxford.
Jon Nolan also weighed in for Paul Hurst's high-flying side, with Wes Thomas and Joe Rothwell replying for the visitors.
Oxford, still awaiting their first win under recently appointed manager Karl Robinson, started brightly with an early effort from Rothwell deflected wide.
Nolan and Stefan Payne then forced smart saves from Oxford goalkeeper Simon Eastwood before Shrewsbury goalkeeper Dean Henderson had to be alert to push away a shot from Jonathan Obika.
Whalley made the 40th-minute breakthrough when his 20-yard free-kick found the bottom corner of the net.
Shrewsbury doubled their advantage two minutes into the second half when Nolan's shot from outside the box took a deflection on its way to the top corner.
Bryn Morris then headed against the bar for the hosts before Thomas, having just come on as a substitute, tapped home for Oxford from close range just past the hour.
Shrewsbury quickly restored their two-goal cushion as winger Whalley confidently swept home his 12th goal of the season.
Oxford clawed another goal back in the 73rd minute when Rothwell fired home from 20 yards with the aid of a deflection.
Match report supplied by Press Association
- 3LoweBooked at 45mins
- 7WhalleySubstituted forEisaat 86'minutes
- 4GodfreyBooked at 88mins
- 10ThomasBooked at 32minsSubstituted forJohn-Lewisat 90+4'minutes
- 45PayneSubstituted forJonesat 90+5'minutes
- 11BrannaganBooked at 85mins
- 20ObikaSubstituted forThomasat 60'minutesBooked at 90mins
- 17HenrySubstituted forBuckley-Rickettsat 75'minutes
- 28MehmetiSubstituted forNapaat 60'minutes
- 21Ferreira da Silva
- Seb Stockbridge
- Shots on Target
Second Half ends, Shrewsbury Town 3, Oxford United 2.
Foul by Lenell John-Lewis (Shrewsbury Town).
Robert Dickie (Oxford United) wins a free kick in the defensive half.
Substitution, Shrewsbury Town. Sam Jones replaces Stefan Payne.
Substitution, Shrewsbury Town. Lenell John-Lewis replaces Nathan Thomas.
Wes Thomas (Oxford United) is shown the yellow card.
(Shrewsbury Town) wins a free kick in the attacking half.
Foul by Wes Thomas (Oxford United).
Foul by Abobaker Eisa (Shrewsbury Town).
Josh Ruffels (Oxford United) wins a free kick in the defensive half.
Attempt saved. Josh Ruffels (Oxford United) left footed shot from the left side of the box is saved in the centre of the goal.
Corner, Oxford United. Conceded by Omar Beckles.
Ben Godfrey (Shrewsbury Town) is shown the yellow card for a bad foul.
Foul by Ben Godfrey (Shrewsbury Town).
Wes Thomas (Oxford United) wins a free kick in the attacking half.
Substitution, Shrewsbury Town. Abobaker Eisa replaces Shaun Whalley.
Cameron Brannagan (Oxford United) is shown the yellow card for a bad foul.
Stefan Payne (Shrewsbury Town) wins a free kick in the defensive half.
Foul by John Mousinho (Oxford United).