Match ends, Bradford City 1, Oldham Athletic 0.
John Sheridan's first game back as Oldham manager ended in defeat as his side lost at Bradford in League One.
Tony McMahon's header from six yards was enough to secure the points for the promotion-chasing Bantams.
The Latics' hopes were dented before half-time as substitute Connor Brown was sent off for a bad foul.
The red card came moments after Oldham had nearly taken the lead through Jake Cassidy's close-range flick, while Liam Kelly's late header almost levelled it.
Bradford climb into the top 10 and are four points off the play-off places with two games in hand, while Oldham are five points from safety in 22nd.
Oldham manager John Sheridan told BBC Radio Manchester:
"The sending off totally changed the game.
"I was well happy with the way we played. I thought we could have kept the ball in possession a bit better but I thought we looked comfortable.
"We dealt with everything that they threw at us, up until the sending off I was comfortable."
- 3MeredithBooked at 79mins
- 29McMahonBooked at 17mins
- 4EvansBooked at 90mins
- 18RoutisSubstituted forMarshallat 80'minutes
- 17ReidSubstituted forMorrisat 61'minutes
- 10ClarkeSubstituted forColeat 63'minutesBooked at 90mins
- 36DummiganSubstituted forBrownat 25'minutesBooked at 41mins
- 15WinchesterBooked at 59minsSubstituted forForteat 63'minutes
- 19MurphySubstituted forPoleonat 66'minutes
- Ben Toner
- Shots on Target
Second Half ends, Bradford City 1, Oldham Athletic 0.
Foul by Devante Cole (Bradford City).
Liam Kelly (Oldham Athletic) wins a free kick in the defensive half.
Attempt saved. Liam Kelly (Oldham Athletic) header from the right side of the six yard box is saved in the top centre of the goal.
Corner, Oldham Athletic. Conceded by James Hanson.
Attempt missed. Mark Marshall (Bradford City) right footed shot from the right side of the box is too high.
Rory McArdle (Bradford City) wins a free kick in the attacking half.
Foul by Jonathan Forte (Oldham Athletic).
Lee Evans (Bradford City) is shown the yellow card for a bad foul.
Foul by Lee Evans (Bradford City).
Brian Wilson (Oldham Athletic) wins a free kick in the defensive half.
Josh Morris (Bradford City) wins a free kick on the left wing.
Foul by Dominic Poleon (Oldham Athletic).
Foul by James Hanson (Bradford City).
Brian Wilson (Oldham Athletic) wins a free kick on the right wing.
Attempt missed. James Hanson (Bradford City) header from the centre of the box is close, but misses to the left.
Attempt missed. Devante Cole (Bradford City) right footed shot from the left side of the six yard box is close, but misses to the left.
Substitution, Bradford City. Mark Marshall replaces Christopher Routis.
James Meredith (Bradford City) is shown the yellow card.