It was not pretty, but it was just about enough as Oxfordshire stumbled into the semi-finals.

They will now be away to Durham in the last four on Saturday where a far better performance will be needed to reach the final.

Oxon needed to avoid defeat by 15 points or more to progress, but Essex deserved this victory at Eton Manor RFC and themselves qualified as the best runners-up.

The game was largely a scrappy, stop-start affair, not helped by young referee Craig Maxwell-Keys, who never seemed to have control of the breakdown.

Oxford Blue and Canadian international Stan McKeen impressed on his Oxfordshire debut, but few others stood out in a disjointed display.

The visitors had more of the early possession and territory and took the lead with a 12th-minute penalty from fly half James Cathcart.

Oxon were caught cold when Essex full back Andrew Frost attacked from deep and wing Adam Billings raced in under the posts.

Frost converted, but he was soon stood up by his opposite number Huw Jones as he carved through.

Jones was stopped just short, but prop Ian Stock scored, Cathcart converting to give Oxon the lead.

Southend’s Billings struck again on 22 minutes when he latched on to Barking fly half Luke Greatrex’s kick and sprinted clear of a flat-footed defence.

Frost’s conversion made it 14-10 and he added a penalty on 29 minutes.

Suddenly Oxon’s 14-point cushion looked in jeopardy.

They lacked fluency as was demonstrated when scrum half Morgan Thompson was forced into a knock-on near the Essex line.

Essex captain Mark Williams was yellow-carded just before the break, and Cathcart expertly slotted the resulting penalty.

With their man advantage, Oxon would have expected to start the second half on top.

Instead, Essex showed the greater intensity, with their pack pounding the try-line.

The hosts kept the ball alive well, allowing wing Danny Clearly to wriggle through a gap and make it 22-13.

Both sides’ quality of play seemed to deteriorate, while Frost was wide with a penalty.

Finally, some strong forward play paid off with skipper Matt Hutchings leading the way.

McKeen took up the charge and blasted over for a try, which Cathcart converted.

An unlikely away win looked on, but Essex struck again after Nutt was sin-binned for a high tackle.

A quick blindside break saw replacement hooker Marcus Bloomberg diving over the line.

There was still ten minutes of stoppage time, but sadly for Oxon Joe Winpenny, their replacement hooker, forced into touch.

Oxfordshire: Jones, Nutt, Hewitt, J Lamb, Portland (Sevier 37), Cathcart, Thompson (Sewell 71), Stock, Hill (Winpenny 51), Whelan (Eckert 51), Hutchings (capt), Pearson (Nicholl 76), Allen (Pakes 67), Hastings, McKeen. Rep not used: Sayce.

Referee: C Maxwell-Keys (RFU).

Oxon man-of-the-match: McKeen.