Match ends, Crewe Alexandra 0, Swindon Town 0.
Swindon lost ground in the League One title race after being held to a goalless draw by Crewe.
Michael Smith had the ball in the net for the visitors after keeper Paul Rachubka parried, but was adjudged to be offside.
Jack Stephens was dismissed after picking up his second booking for kicking the ball away.
Crewe also ended the game with 10 men after Alan Tate received a second yellow for his foul on Yaser Kasim.
The results sees Crewe climb to 18th, four points clear of the relegation zone, while Swindon slip to fourth, nine points behind league leaders Bristol City.
Swindon Town manager Mark Cooper told BBC Wiltshire:
"It was very difficult conditions in terms of the pitch but we had enough opportunities to win the game.
"Towards the end we're gambling with 10 men and we leave them with a few counter-attacks.
"I thought the referee was terrible for both teams, he spoilt the game. He left himself with no option but to send people off.
"He needs to look at himself, he's let himself down."
- 30TateBooked at 90mins
- 5RayBooked at 32mins
- 20JonesBooked at 43minsSubstituted forInmanat 90+6'minutes
- 28NessBooked at 55mins
- 24LeighSubstituted forGuthrieat 83'minutes
- 35AjoseSubstituted forStewartat 90+9'minutes
- 29Rossi BrancoBooked at 52mins
- 2ThompsonBooked at 50mins
- 4LuongoBooked at 83mins
- 5StephensBooked at 89mins
- 19ThompsonSubstituted forKasimat 73'minutes
- 7GladwinSubstituted forToffoloat 61'minutes
- 9SmithBooked at 83minsSubstituted forObikaat 85'minutes
- Graham Salisbury
- Shots on Target
Second Half ends, Crewe Alexandra 0, Swindon Town 0.
Harry Davis (Crewe Alexandra) wins a free kick in the defensive half.
Foul by Andy Williams (Swindon Town).
Substitution, Crewe Alexandra. Anthony Stewart replaces Nicky Ajose.
Corner, Swindon Town. Conceded by Jamie Ness.
Attempt blocked. Yaser Kasim (Swindon Town) right footed shot from outside the box is blocked.
Second yellow card to Alan Tate (Crewe Alexandra).
Foul by Alan Tate (Crewe Alexandra).
Yaser Kasim (Swindon Town) wins a free kick in the defensive half.
Substitution, Crewe Alexandra. Bradden Inman replaces James Jones.
Corner, Crewe Alexandra. Conceded by Jordan Turnbull.
Andy Williams (Swindon Town) wins a free kick in the attacking half.
Foul by George Ray (Crewe Alexandra).
Attempt saved. James Jones (Crewe Alexandra) left footed shot from outside the box is saved in the centre of the goal.
Attempt blocked. Yaser Kasim (Swindon Town) right footed shot from the right side of the box is blocked.
Foul by Anthony Grant (Crewe Alexandra).
Nathan Byrne (Swindon Town) wins a free kick on the right wing.
Foul by Yaser Kasim (Swindon Town).
James Jones (Crewe Alexandra) wins a free kick in the attacking half.