Media playback is not supported on this device
It was Bradford's first home defeat of the season and the second time that League Two Stanley have beaten the Bantams this season, having won on penalties at home in the EFL Cup in August.
Bradford began well, almost taking the lead in the third minute but James Hanson's header was cleared off the line by Mark Hughes.
Accrington went in front after 30 minutes though with a goal by Romuald Boco, who had seen his 25-yard shot rebound off the crossbar 13 minutes earlier.
Sean McConville delivered a cross from the right and Boco scored with a near-post header.
Bradford keeper Colin Doyle did well to deny the visitors a second goal early in the second half, diving full length to save Clark's shot from the edge of the penalty area, before the home side managed an equaliser in the 72nd minute.
Substitute Billy Clarke delivered an inswinging corner from the right and Matthew Kilgallon scored with a close-range header.
Accrington continued to attack and were rewarded with a winning goal in the 80th minute when Boco flicked the ball into the path of Clark on the left and he scored with a superb angled shot.
Report supplied by the Press Association.
Match ends, Bradford City 1, Accrington Stanley 2.
Second Half ends, Bradford City 1, Accrington Stanley 2.
Delay over. They are ready to continue.
Substitution, Accrington Stanley. Steven Hewitt replaces Shay McCartan because of an injury.
Delay in match Shay McCartan (Accrington Stanley) because of an injury.
Attempt saved. James Hanson (Bradford City) header from the centre of the box is saved in the bottom right corner.
Corner,  Bradford City. Conceded by Romuald Boco.
Daniel Devine (Bradford City) wins a free kick on the left wing.
Foul by Matty Pearson (Accrington Stanley).
Substitution, Accrington Stanley. Shay McCartan replaces Jordan Clark.
Attempt missed. Timothee Dieng (Bradford City) left footed shot from a difficult angle on the left is close, but misses to the right.
Attempt missed. Matty Pearson (Accrington Stanley) right footed shot from outside the box is close, but misses the top right corner.
Goal!  Bradford City 1, Accrington Stanley 2. Jordan Clark (Accrington Stanley) left footed shot from the left side of the box to the bottom right corner. Assisted by Romuald Boco.
James Hanson (Bradford City) wins a free kick on the left wing.
Foul by Matty Pearson (Accrington Stanley).
Corner,  Accrington Stanley. Conceded by Rory McArdle.
Goal!  Bradford City 1, Accrington Stanley 1. Matthew Kilgallon (Bradford City) header from the centre of the box to the top left corner. Assisted by Billy Clarke with a cross following a corner.
Corner,  Bradford City. Conceded by Jordan Clark.
Nicky Law (Bradford City) wins a free kick in the defensive half.
Foul by Seamus Conneely (Accrington Stanley).
Corner,  Bradford City. Conceded by Sean McConville.
Attempt missed. Jordan Clark (Accrington Stanley) left footed shot from the left side of the box is close, but misses to the left.
Substitution, Bradford City. Nicky Law replaces Filipe Morais.
Substitution, Bradford City. Billy Clarke replaces Mark Marshall.
Rory McArdle (Bradford City) wins a free kick in the defensive half.
Foul by Terry Gornell (Accrington Stanley).
Attempt missed. Timothee Dieng (Bradford City) header from the centre of the box is just a bit too high.
Attempt saved. Filipe Morais (Bradford City) right footed shot from the left side of the box is saved in the centre of the goal.
Rory McArdle (Bradford City) wins a free kick in the attacking half.
Foul by Matty Pearson (Accrington Stanley).
Corner,  Accrington Stanley. Conceded by Stephen Darby.
Foul by Daniel Devine (Bradford City).
Seamus Conneely (Accrington Stanley) wins a free kick in the attacking half.
Attempt saved. Jordan Clark (Accrington Stanley) right footed shot from outside the box is saved in the bottom left corner.
Attempt saved. Jordy Hiwula-Mayifuila (Bradford City) right footed shot from outside the box is saved in the bottom right corner.
Attempt missed. Matthew Kilgallon (Bradford City) left footed shot from outside the box is close, but misses the top left corner.
Second Half begins Bradford City 0, Accrington Stanley 1.
Substitution, Bradford City. Jordy Hiwula-Mayifuila replaces Haris Vuckic.
First Half ends, Bradford City 0, Accrington Stanley 1.
Foul by Terry Gornell (Accrington Stanley).
Jordan Clark scored a late winner as Accrington Stanley stunned League One promotion hopefuls Bradford with victory at Valley Parade, in the FA Cup first round