Match ends, Bradford City 2, Oldham Athletic 0.
Billy Clarke scored twice as Bradford City leapfrogged fellow League One play-off hopefuls Oldham Athletic.
The two sides were evenly matched in the first half, but Clarke broke the deadlock on 71 minutes.
Gary MacKenzie and James Hanson combined to head the ball on for Clarke to add the finishing touch with a back-heel from close range.
Clarke then put the result beyond doubt in injury time with a low shot from 15 yards after a lay-off from Jon Stead.
Bradford sit in 10th place, two points off the play-off spot, while Oldham are 13th.
Oldham manager Dean Holden told BBC Radio Manchester:
"It's a tough afternoon when you come here, you know how Bradford are going to play.
"They bang balls from back to front all day long into your box and you've got to be able to defend for 90 minutes and unfortunately we weren't able to do that."
"We were chasing the game. We've changed the system three times in the game to try to get more up there and try to scramble our way back into it.
"The disappointing thing is the way we conceded."
- 5DaviesSubstituted forMackenzieat 17'minutes
- 8LiddleBooked at 27mins
- 18RoutisSubstituted forMcMahonat 85'minutes
- 14YeatesSubstituted forKnottat 64'minutes
- 10ClarkeBooked at 61mins
- 36Mottley Henry
- 2BrownBooked at 45minsSubstituted forBoveat 86'minutes
- 19WoodlandSubstituted forPoleonat 74'minutes
- 10PhilliskirkSubstituted forJacobsat 82'minutes
- Mick Russell
- Shots on Target
Second Half ends, Bradford City 2, Oldham Athletic 0.
Attempt missed. Carl Winchester (Oldham Athletic) right footed shot from more than 35 yards is just a bit too high.
Goal! Bradford City 2, Oldham Athletic 0. Billy Clarke (Bradford City) right footed shot from the left side of the box to the bottom right corner. Assisted by Jon Stead.
Billy Knott (Bradford City) wins a free kick on the left wing.
Foul by Conor Wilkinson (Oldham Athletic).
Tony McMahon (Bradford City) wins a free kick in the defensive half.
Foul by Carl Winchester (Oldham Athletic).
Substitution, Oldham Athletic. Jordan Bove replaces Connor Brown.
Substitution, Bradford City. Tony McMahon replaces Christopher Routis.
Corner, Bradford City. Conceded by Jonathan Forte.
Substitution, Oldham Athletic. Devante Jacobs replaces Danny Philliskirk.
Jon Stead (Bradford City) wins a free kick in the defensive half.
Foul by Adam Lockwood (Oldham Athletic).
Attempt saved. Billy Clarke (Bradford City) right footed shot from the centre of the box is saved in the bottom right corner.
Foul by Rory McArdle (Bradford City).
(Oldham Athletic) wins a free kick in the attacking half.
Corner, Bradford City. Conceded by Adam Lockwood.
Substitution, Oldham Athletic. Dominic Poleon replaces Luke Woodland.
Goal! Bradford City 1, Oldham Athletic 0. Billy Clarke (Bradford City) left footed shot from the left side of the six yard box to the bottom left corner. Assisted by James Hanson.