Match ends, Colchester United 1, Exeter City 0.
Cohen Bramall's free-kick gave Colchester the advantage as they beat Exeter in a drab League Two play-off semi-final first leg.
The full-back's whipped left-footed strike from the right side of the penalty area curled past Lewis Ward into the near post top corner in the first English Football League game since the Covid-19 suspension in March.
It was a rare highlight in an otherwise poor game as both sides struggled to unlock the opposing defence in front of an empty ground.
The two sides will meet again at St James Park on Monday with the winners facing either Northampton or Cheltenham for the final promotion place to League One.
In common with Wednesday's two Premier League games the match commenced with both sides and the match officials 'taking a knee' to show their support for the Black Lives Matter movement.
Bramall had done well during the game as he kept Exeter's danger man Randell Williams quiet - the Grecians failing to register an effort on target throughout the match.
In fact former Arsenal youngster Bramall was the only player to test a goalkeeper as he also forced Ward to calmly tip over a free-kick after 20 minutes.
The visitors - who managed to find a hotel for their players on Wednesday in order to avoid making the 250-mile journey from Devon to Essex on the day of the game - created little.
Their best chance came two minutes after Bramall's free-kick when Nicky Law's shot from 15 yards was deflected wide.
Exeter's Matt Jay, who replaced the experienced Lee Martin after 36 minutes, hit the side netting with a second-half free-kick, while at the other end Frank Nouble had a pair of chances blocked in quick succession with 15 minutes to go.
The game was Colchester's first play-off match for more than 22 years - they last featured in them when they beat Exeter's nearest neighbours Torquay 1-0 at the old Wembley to win promotion from this level in 1998.
Colchester manager John McGreal: "I'm proud of what we've achieved in two weeks since coming back from lockdown.
McGreal on Cohen Bramall: "It was a brilliant free-kick. It was great technique by Cohen for the goal and that's something that he works on in training.
"That's what he can do and he's shown that he can do that for us. He also played a big part defensively in dealing with Randall Williams."
Exeter boss Matt Taylor: "We just didn't have it quite in our legs and to concede that set-piece was disappointing.
"I was actually pleased with our structure and our attitude - we have to improve in possession, we got in some really good positions. It was probably a game a little bit short of quality in attacking areas, but two honest teams and two very well-organised teams defensively.
"We got the positions, we got the opportunities to use the ball, we just weren't quite slick enough or good enough in possession. Our attacking players worked their socks off but very rarely were they able to beat a Colchester player today."
- 49PokuSubstituted forCowan-Hallat 89'minutes
- 8PellBooked at 58mins
- 24StevensonSubstituted forLapslieat 77'minutes
- 7SeniorSubstituted forGambinat 68'minutes
- 9NorrisSubstituted forRobinsonat 77'minutes
- 21MoxeySubstituted forParkesat 77'minutes
- 8LawBooked at 45minsSubstituted forCollinsat 67'minutes
- 22SparkesSubstituted forDickensonat 77'minutes
- 7MartinSubstituted forJayat 38'minutes
- Josh Smith
- Shots on Target
Second Half ends, Colchester United 1, Exeter City 0.
Attempt missed. Brennan Dickenson (Exeter City) left footed shot from outside the box misses to the right following a corner.
Corner, Exeter City. Conceded by Ryan Jackson.
Offside, Colchester United. Frank Nouble tries a through ball, but Theo Robinson is caught offside.
Substitution, Colchester United. Paris Cowan-Hall replaces Kwame Poku.
Offside, Colchester United. Frank Nouble tries a through ball, but Kwame Poku is caught offside.
Archie Collins (Exeter City) wins a free kick in the attacking half.
Foul by Luke Gambin (Colchester United).
Goal! Colchester United 1, Exeter City 0. Cohen Bramall (Colchester United) from a free kick with a left footed shot to the top right corner.
Foul by Brennan Dickenson (Exeter City).
Frank Nouble (Colchester United) wins a free kick on the right wing.
Substitution, Exeter City. Tom Parkes replaces Dean Moxey.
Substitution, Colchester United. Tom Lapslie replaces Ben Stevenson.
Substitution, Exeter City. Brennan Dickenson replaces Jack Sparkes because of an injury.
Substitution, Colchester United. Theo Robinson replaces Luke Norris.
Lewis Ward (Exeter City) wins a free kick in the defensive half.
Foul by Luke Norris (Colchester United).
Corner, Colchester United. Conceded by Archie Collins.
Attempt blocked. Frank Nouble (Colchester United) left footed shot from the centre of the box is blocked. Assisted by Kwame Poku.