Match ends, Crewe Alexandra 1, Oldham Athletic 0.
Adam King's first-half strike earned Crewe Alexandra their second win in five days to lift themselves off the bottom of the League One table.
The visitors almost took an early lead when Mark Yeates' free-kick was met by Brian Wilson, who nodded wide.
Crewe took the lead when Marcus Haber knocked down Semi Ajayi's free-kick to King who volleyed home.
On-loan Ryan Lowe came close to doubling the Alex's advantage, but he fired the ball wide of the far post.
A week on from losing 5-1 at home to Peterborough, Crewe's victory was only their second in 18 games at Gresty Road since 7 March.
It lifts them to 23rd, level on points with 21st-placed Oldham, who suffered a third straight defeat.
Steve Davis's side go above Barnsley, who drop to the foot of League One, despite their late equaliser against Sheffield United.
Crewe assistant manager James Collins told BBC Radio Stoke:
"After coming off a heavy defeat last Saturday, the players have responded brilliantly. We were 2-0 down on Tuesday night and fought back to win at Colchester and the lads had to dig in at times to follow that up with another win.
"When the wind is howling and the rain's coming down like it is, it's never going to picture perfect football but we didn't have too many scares.
"Adam King is about that, getting into the opposition box. That is what he does. He can improve his football and his defending in one against situations but he can get forward and get goals. They will always want you if you are a midfield player who can get forward and score goals."
Oldham Athletic manager David Dunn told BBC Radio Manchester
"It was really disappointing. The manner of which we played, the quality that we've shown in previous weeks at times to get us back in it wasn't there. I question the desire sometimes. Crewe are fighting for their lives and they outfought us which is so disappointing. Everyone on that pitch should be fighting for their lives because that's where we are in at the moment.
"Out there we've got players that are hiding, that's for sure. Too many players are asking other players to save them and get them out of the mess. There's no hiding place out on that pitch.
"We didn't look like creating a goal. At the end we had three up top and still didn't look like creating anything. I tried my best to try and spark it into life but it's not good enough."
- 16KingSubstituted forWintleat 76'minutes
- 27ColcloughSubstituted forNgat 90'minutes
- 7LoweSubstituted forSaundersat 72'minutes
- 12Dalla Valle
- 2BrownBooked at 53minsSubstituted forWellensat 59'minutes
- 3MillsBooked at 75mins
- 6KellyBooked at 89mins
- 32FultonSubstituted forPoleonat 70'minutes
- 30FullerSubstituted forCassidyat 45'minutes
- Simon Hooper
- Shots on Target
Second Half ends, Crewe Alexandra 1, Oldham Athletic 0.
Corner, Oldham Athletic. Conceded by Oliver Turton.
Foul by Dominic Poleon (Oldham Athletic).
James Jones (Crewe Alexandra) wins a free kick in the defensive half.
Substitution, Crewe Alexandra. Perry Ng replaces Ryan Colclough.
Liam Kelly (Oldham Athletic) is shown the yellow card.
Attempt missed. Ryan Wintle (Crewe Alexandra) right footed shot from the centre of the box misses to the right.
Attempt missed. Danny Philliskirk (Oldham Athletic) right footed shot from very close range misses to the right.
Foul by Michael Higdon (Oldham Athletic).
Ben Nugent (Crewe Alexandra) wins a free kick in the attacking half.
Joseph Mills (Oldham Athletic) wins a free kick in the defensive half.
Foul by Marcus Haber (Crewe Alexandra).
Attempt saved. Ryan Wintle (Crewe Alexandra) left footed shot from outside the box is saved in the centre of the goal.
Substitution, Crewe Alexandra. Ryan Wintle replaces Adam King.
Joseph Mills (Oldham Athletic) is shown the yellow card for a bad foul.
Foul by Joseph Mills (Oldham Athletic).
Ryan Colclough (Crewe Alexandra) wins a free kick in the defensive half.
Corner, Crewe Alexandra. Conceded by Danny Philliskirk.
Foul by Liam Kelly (Oldham Athletic).