Two second half goals for the 27-year-old was enough to grab the three points for the Bantams as Latics' two-game unbeaten run came to an end.
Latics started the game brightly and had an early chance in the fourth minute of the game.
Carl Winchester fed Conor Wilkinson inside the penalty area and the striker struck just wide from ten yards out.
Wilkinson, who started 48 hours after appearing for Republic of Ireland under 21 duty, was holding the ball up well in attack and minutes later he almost threaded Mike Jones in but he was stopped in his tracks.
Bradford almost took the lead on the eighth minute as Billy Clarke attempted to lob Joel Coleman from 25 yards but the goalkeeper parried the ball wide.
The game was end-to-end and Luke Woodland's shot was blocked by a defender as he struck from 30 yards out.
The best chance of the half for Bradford came on 14 minutes as James Hanson was given freedom at the back post but he headed over the bar.
Bradford were forced into an early change as defender Andrew Davies pulled up with a suspected hamstring injury to be replaced by Gary MacKenzie.
As the game started to heat up on the field, the Bantams started to take control of the game but Coleman, who had kept two consecutive clean sheets, stood up to the challenge.
Gary Liddle could have given the home side the lead minutes before the half time mark but his shot was well saved by Coleman.
Latics started the second half well and Wilkinson had a great chance to give his side the lead on 54 minutes but he shot over the bar from ten yards.
On 56 minutes, Jonathan Forte received treatment for an injury but Latics' fans stood to sing 'stand up for the 56' which was met by a standing ovation from the Bradford City supporters.
Bradford started to grow into the second half and they were enjoying good spells of possession.
Christopher Routis let fly from 30 yards with just over 20 minutes of the game remaining but the shot did little to trouble Coleman.
Latics almost took the lead on 70 minutes as Mat Sadler shot from just outside the penalty area but Ben Williams just managed to tip the ball past the post.
Athletic were made to rue that chance as a minute later, Bradford took the lead.
Substitute Billy Knott's corner was not dealt with by Latics and Clarke prodded home at the back post to put the Bantams ahead.
One almost become two a minute later as Stead crossed into the box looking for the onrushing Hanson but Coleman collected the ball well under a lot of pressure.
Latics were struggling to get hold of possession in as the pitch deteriorated towards the end of the game.
Dean Holden brought on youngsters Devante Jacobs and Jordan Bove to add energy to the game but Bradford restricted Latics to limited chances.
Bradford dominated the final couple of minutes and managed to double their advantage right at the death.
Jon Stead fed Clarke inside the penalty area and he placed the ball beyond Coleman to double his tally for the day and send Latics home pointless.
Bradford City: Williams, Darby, McArdle, Davies (MacKenzie 17'), Meredith, Liddle, Routis (McMahon 85'), Yeates (Knott 64'), Clarke, Hanson, Stead
Subs not used: Alnwick, Dolan, Zoko, Mottley-Henry
Oldham Athletic: Coleman, Brown (Bove 86'), Lockwood, Gerrard, Sadler, Woodland (Poleon 74'), Winchester, Jones, Philliskirk (Jacobs 82'), Forte, Wilkinson.
Subs not used: Kean, Dieng, Kusunga, Wilson.
Goals: Bradford City (Clarke 71', 90+3') 2-0 Oldham Athletic
Attendance: 14,010 (1,170 visiting supporters)