The hosts have now won four games on the bounce while Gary Bowyer's side are now winless in their last four outings.
Aramide Oteh had an early chance to put the away side ahead but it was Plymouth who soon grabbed the opener.
Antoni Sarcevic squared the ball to Byron Moore who had his first shot saved before prodding home the rebound with just five minutes gone.
Argyle continued to build pressure after taking the initiative and 20 minutes later they doubled their advantage through Joe Edwards.
Sarcevic almost put the game completely beyond City before half time but saw his deflected shot saved.
The Bantams showed a marked improvement in the second half and halved the deficit through a Niall Canavan own goal just six minutes after the restart.
The defender tried to get in front of Anthony O’Connor's cross into the area but knocked the ball into his own net.
Zeli Ismail got in behind the Plymouth defence midway through the second period but could only watch his effort drift wide.
The Bantams tried to create an opening to claim the equaliser but were unable to find a way past the Plymouth defence.
The result leaves Bowyer's charges seventh in League Two, six points behind table toppers Swindon Town.
Plymouth have moved to within a point of City but have played a game more.