Bradford came under intense first-half pressure but Jordan Pickford was never truly tested.
Danny Andrew sent one just over and Stephen Dobbie also fired wide after Jamie Proctor’s lob opened up the Bantams.
But the visitors took a lead into the break thanks to a neat move. Mark Yeates looped the ball over Chris Maxwell for Hanson to head home.
Bradford applied themselves superbly after the break, frustrating their hosts, whose best chance saw Proctor’s 25-yard drive slam against the woodwork.
The killer blow was landed 13 minutes from time, Jon Stead finding space down the left, driving past Conor McLaughlin and sending across a low ball. Hanson’s miss wrong-footed Maxwell, Morais stealing in to slam the ball home.
Parkinson said: “We spoke to the lads about what happened against Chesterfield, they went down to 10 men and we took our foot off the gas.
“In the second half against Scunthorpe they stepped up the intensity and it was almost like we thought we’re on a good run and the result would take care of itself. We got punished
“We said (yesterday) we had to go out and play the second half a lot better than we did in those two games. I thought second half in this one we were excellent.”
Fleetwood Town: Maxwell, McLaughlin, Andrew (Crainey 39), Roberts (c), Evans (Hitchcock 85), Dobbie, J Hughes, Morris (Haughton 59), Sarcevic, Proctor, Jordan. Unused substitutes: Schumacher, Lucas, Forbes, M Hughes.
Bradford City: Pickford, Darby (c), Meredith, Davies, Liddle, Hanson, Yeates (Kennedy 81), Stead (Zoko 87), Morais, McArdle, Halliday (Knott 71). Unused substitutes:Sheenan, Knott, Williams, Kennedy, Routis, McBurnie.
Referee: C Sarginson (Staffs).
Man of the match: Jon Stead.