Braintree Town launched a stunning second-half comeback to beat Colchester United 3-2 and reach the BBC Essex Senior Cup semi-finals.

The U's had led 2-0 at half-time, thanks to first-half goals from Alfie Thorn and Kaan Bennett.

But the Iron were a different force after half-time and goals from Alfie Pavey and Kyren Clements drew the National League South side level, before substitute Alfie Matthews sealed the visitors' win in the fourth minute of stoppage time.

Colchester’s starting line-up featured January signing Will Greenidge, along with recent first-team players Al-Amin Kazeem and Jayden Fevrier.

Former U’s favourite John White was named in the Braintree team managed by ex-Colchester youngster, Angelo Harrop.

Braintree created the first chance of the tie at the JobServe Community Stadium, with striker Alfie Pavey heading a decent 12th-minute chance wide of the target from a free-kick delivered into the box.

But in the 19th minute, Colchester were ahead.

Oscar Thorn finished brilliantly, after Gene Kennedy’s fine pass had dissected the Braintree defence.

Colchester continued to get behind the Braintree backline on several occasions but they looked threatening at times, with Joe Boachie unable to steer his header in off balance at the far post for the visitors, after a deep cross.

Fevrier showed some devastating pace for the U’s at times down the right flank and although the visitors enjoyed plenty of possession, they did not really seriously threaten home keeper Jamie Grossart.

Braintree goalkeeper Jack Sims denied Bradley Ihionvien from point-blank range on the half hour, after Fevrier had created the chance.

And Colchester went close again when Harvey Sayer drove the ball dangerously across the face of goal, after Thorn had seized on Sims' poor clearance and picked him out.

Braintree and Witham Times:

The U’s eventually doubled their lead two minutes before the break through Kaan Bennett, who blasted home close range after Ihionvien had helped on Fevrier's pass in the area.

It put Colchester in control, although Braintree did have a strong penalty appeal rejected on the stroke of half-time when Lordon Akolbire clattered Boachie in the area.

The U's went in at the break in the ascendency but Braintree started the second half brightly and almost pulled a back nine minutes after the restart when Kyren Clements' first-time effort from nearly 25 yards sailed straight into the arms of keeper Grossart.

But Braintree got the goal their start to the second half deserved just after the hour mark when Pavey finished well from close range, following a ball into the danger area. 

Iron pushed hard for an equaliser after that and almost got one with six minutes remaining when Lordon Akolbire almost diverted Pavey's shot into his own net.

And Braintree equalised in the 89th minute when Kyren Clements rose from a corner to head home.

The visitors were not finished there though and Matthews raced onto a through ball to take the ball past Grossart and calmly slot home deep into stoppage-time, to secure Iron's progress.

MATCH STATS: Colchester United: Grossart, Greenidge, Kazeem, Kennedy, Akolbire, Jobson, Thorn, Bennett (sub Redgrave, 85), Ihionvien, Fevrier, Sayer (sub Oni, 70).

Substitutes (not used): Edwards, Price.

Braintree Town: Sims, Altintop (sub Regis, 58), Farrell, Clements, White, Davies, Clemons, Payne, Pavey, Boachie (sub Matthews, 70), Rush (sub Lamar, 58).

Substitutes (not used): Taylor, Turner.

Goals: Colchester: Thorn (19), Bennett (43). Braintree: Pavey (62), Clements (89), Matthews (90).

Bookings: Colchester: Akolbire (foul, 52), Jobson (foul, 75), ihionvien (unsporting behaviour, 80). Braintree: Clements (foul, 90).