Shrewsbury Town won 3-2 to progress into the second round of the FA Cup.
Goals from Dan Udoh, Jordan Shipley and a Connor Hall own goal won it for Salop - with Shipley playing exceptionally well on his return following two months out with a knee injury.
Town received a huge boost before kick-off with Shipley and Elliot Thorpe both fit enough to be in the matchday squad.
Following two months out with a knee injury, Shipley returned to the starting XI with boss Matt Taylor opting for a tactical tweak that saw us line up in a 3-4-2-1 system.
It saw Shipley and Tom Bayliss operate in the number 10 role with Udoh the lone centre-forward.
In central midfield, Elliott Bennett was partnered by Taylor Perry with Carl Winchester at right wing-back and Mal Benning on the left.
Colchester lined up in a 4-2-3-1 formation with Noah Chilvers in the 10 role just behind Joe Taylor. Samson Tovide and Jayden Fevrier the widemen.
It was Town who started the game on the front foot with Taylor's side looking bright on the ball.
But against the run of play, we found ourselves behind in the 10th minute when Cameron McGeehan produced a brilliant strike from 25 yards that flew into the back of the net.
Town looked for an instant reply with a swift counter-attack seeing Bayliss march through the Colchester midfield before slipping in Udoh. He then saw a low drive well saved by Owen Goodman.
Salop equalised six minutes later with a goal straight from the training ground.
A clever corner saw the ball worked to Shipley - with his goal-bound shot then flicked in by Udoh.
Moments before the interval, we came a whisker away from taking the lead when - from a corner - Tom Flanagan sent a powerful header inches over the bar.
Shortly after the re-start, Town did get themselves in front when Flanagan picked out Shipley with a brilliant pass over the top.
The 26-year-old then produced a lovely touch to bring the ball under control before calmly flicking it past goalkeeper Goodman.
Taylor went on to make a double change with Ryan Bowman and Max Mata coming on for Salop - with the duo immediately linking up and coming close to extending our lead further.
After good work from Benning, Mata squeezed the ball through to Bowman who, from just outside the six-yard box, saw a powerful shot blocked.
Town looked to have secured their place in the third round in the 79th minute when brilliant play from Bayliss saw him glide past three players before finding Taylor Perry in the box.
He then took a shot that deflected off Hall and sailed in - with the effort going down as an own-goal.
Shrewsbury had more than deserved their lead.
But they made to sweat late on when, from a corner, Zach Mitchell's header made it 3-2.
Town, though, went on to see out the game relatively comfortably and secure a deserved spot in the second round.
Shrewsbury Town: Marko Marosi; Mal Benning (Elliot Thorpe 87’), Joe Anderson, Jason Sraha, Tom Flanagan, Carl Winchester; Elliott Bennett, Taylor Perry (Nohan Kenneh 87’); Tom Bayliss (Tunmise Sobowale 87’), Jordan Shipley (Ryan Bowman 66’), Dan Udoh (Max Mata 75’)
Unused Substitutes: Harry Burgoyne, Aaron Pierre
Colchester: Owen Goodman; Will Greenidge (Zach Mitchell 59’), Connor Hall ©, Tom Dallison (Frankie Terry 72’), Samson Tovide (Tom Hopper 72’), Noah Chilvers (Chay Cooper 81’), Cameron McGeehan, Arthur Read, Mandelo Egbo, Joe Taylor (Bradley Ihionvien 72’), Jayden Fevrier
Unused Substitutes: Sam Hornby, Matt Jay, Jay Mingi, Gene Kennedy
Referee: Scott Jackson
Attendance: 3,011 (170 away)