Flint steered the ball home at the far post to decide an absorbing contest after the hosts had John Fleck sent off for a two-footed lunge with 30 minutes remaining.
United had hit the woodwork three times in the first half before Jamie Paterson put the visitors ahead two minutes before the break.
Leon Clarke levelled three minutes after the restart before Fleck was dismissed and Flint volleyed in the decider.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
City have 40 points, seven adrift of leaders Wolverhampton Wanderers, who host Sunderland on Saturday, and three behind second-placed Cardiff City, who face Reading on Monday.
Sheffield United are fourth with 37.
(Reporting by Toby Davis; Editing by Gene Cherry)
