Match ends, Walsall 0, Oxford United 1.
James Henry netted a late winner as League One high-fliers Oxford booked their place in the third round of the FA Cup with victory at Walsall.
It had looked as though the tie would be heading for a replay but, with six minutes to go, Chris Cadden threaded a perfect pass into Henry's path and the former Wolves midfielder prodded the ball home from six yards.
The visitors dominated throughout but had found home keeper Liam Roberts in impressive form.
Late in the first half Roberts palmed a Tariqe Fosu effort around the post for a corner and then, a minute into the second period, he produced a dazzling reflex save to keep out a point-blank Josh Ruffels header.
Matty Taylor was also unlucky not to get on the scoresheet, having an effort disallowed for offside on the stroke of half-time and then miscuing in front of goal in the second period.
League Two strugglers Walsall's best chance of the game came just after the interval when a quick break upfield saw Caolan Lavery pick out Josh Gordon in the middle but the striker headed wide of the target.
Match report supplied by PA Media.
- 5J Clarke
- 21Cockerill-MollettBooked at 25mins
- 20BatesSubstituted forGuthrieat 55'minutes
- 8KinsellaBooked at 41mins
- 30GaffneySubstituted forScarrat 55'minutes
- 9LaverySubstituted forAdebayoat 75'minutes
- 4DickieBooked at 19mins
- 14FordeSubstituted forMooreat 90+3'minutes
- 18SykesSubstituted forHallat 66'minutesBooked at 90mins
- 9TaylorSubstituted forMackieat 87'minutes
- Leigh Doughty
- Shots on Target
Second Half ends, Walsall 0, Oxford United 1.
Attempt saved. Tariqe Fosu-Henry (Oxford United) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt missed. James Henry (Oxford United) right footed shot from outside the box is too high.
Attempt blocked. Alex Rodriguez (Oxford United) right footed shot from outside the box is blocked.
Substitution, Oxford United. Elliott Moore replaces Anthony Forde.
Foul by Dan Scarr (Walsall).
Robert Dickie (Oxford United) wins a free kick in the attacking half.
Mat Sadler (Walsall) wins a free kick in the attacking half.
Foul by Jamie Mackie (Oxford United).
Foul by Elijah Adebayo (Walsall).
Robert Dickie (Oxford United) wins a free kick on the left wing.
Corner, Walsall. Conceded by Josh Ruffels.
Robert Hall (Oxford United) is shown the yellow card for a bad foul.
Dan Scarr (Walsall) wins a free kick in the defensive half.
Foul by Robert Hall (Oxford United).
Foul by Mat Sadler (Walsall).
Tariqe Fosu-Henry (Oxford United) wins a free kick in the attacking half.
Substitution, Oxford United. Jamie Mackie replaces Matty Taylor.
Attempt missed. Danny Guthrie (Walsall) right footed shot from outside the box misses to the right following a corner.