Colchester United held on to record a superb 3-2 win over League One leaders Bristol City to boost their survival hopes this afternoon.

The U's led 3-0 at half-time and although the Robins pulled two goals back after the break, the hosts held on for a precious win.

Tom Lapslie gave Colchester a third-minute lead when he headed in his first-ever senior goal from close range after Frank Fielding had failed to hold onto Elliott Hewitt’s cross.

And Colchester went 2-0 ahead after 14 minutes when Macauley Bonne marked his first Colchester start since 2013 with a superb header from Matt Briggs’ excellent run and cross.

Bristol City went close when skipper Wade Elliott’s low shot struck the foot of a post.

But Porter made it 3-0 to Colchester in the 26th minute when he planted a precise shot inside the near post, after connecting with Hewitt's pass in the area.

Colchester went in at the break three goals to the good but it did not take the visitors long to reduce the deficit in the second half.

The Robins pulled a goal back five minutes after the break when James Tavernier’s attempted cross from just inside the Colchester half flew over Sam Walker, who denied Elliott soon after.

And when Aden Flint headed home Korey Smith's cross just after the hour mark, the League One leaders were right back in the contest.

The visitors pressed for an equaliser after that but a committed Colchester side stood firm to register a surprise and important win.

For five pages of coverage of the U's game with Bristol City, see Monday's Daily Gazette.