Substitute James Ford scored a late winner as ten-man Barton United came from behind to reach the final of the Sam Waters Cup with a 2-1 win over Morrells of Oxford League rivals Riverside.

It looked as though a Ronnie Williams's strike was enough, but a grandstand finish saw Barton book their berth in the final.

Williams had fired Riverside ahead midway through the first half.

After the break, Barton tried to force their way back into the game, but 15 minutes from time Riverside were awarded a controversial penalty.

However, keeper Chris Flowers saved Ben Moses's spot-kick with ease.

Barton then suffered a blow when Aaron Armstrong was sent off for a second booking.

The dismissal sparked Barton into life, with Kevin Whelan heading the equaliser.

And with eight minutes left, the turnaround was complete when substitute Ford's free-kick found the net.

Barton will now meet Six Bells Kidlington after a Mark Simms hat-trick saw them fight back to beat nine-man Oxford Yellows 5-3 after extra-time.

Trailing 1-0 at the break to an Andy Ballard strike, Daniel Mason's penalty for handling brought Bells level.

Seven minutes from time, Luke Holden gave Bells the lead, only for ex-Oxford United star Joey Beauchamp to ensure extra time with a late strike.

Two minutes into the first period, Mark Simms restored Bells' lead before Yellows were reduced to ten men when Ian Lovegrove was red-carded for dissent.

Incredibly, Ballard brought Yellows level again with his second, only for Simms' second to make it 4-3.

Yellows went down to nine men when Rocky Whiting was dismissed for two bookable offences. Simms then completed his treble.

Cowley Rovers made the semi-finals of the Jack Sadler Cup with a 2-1 win against Oxford City Supporters.

Zubair Khan fired Cowley ahead following a goalless first half and Mark Bayliss missed a penalty, before Adrian Merrett levelled with a spot-kick.

Late on, Craig Wootton slotted home the winner for Cowley from six yards.