The visitors led on seven minutes through Hayley Ladd's headed own goal, but Claire Emslie's low strike levelled the scores at half-time.
Man City had second-half shots from England's Lucy Bronze and Steph Houghton blocked on the line.
But winger Parris' low finish won the game on 89 minutes.
Nick Cushing's side - which saw six changes from Thursday's Champions League quarter-final first leg in Denmark -  led when Bristol City keeper Caitlin Leach attempted to punch away Bronze's cross but her clearance ricocheted in off the host's unfortunate captain Ladd.
Man City keeper Marie Hourihan then saved brilliantly from Millie Turner's downward header from a set-piece, before Toni Duggan, Parris and Georgia Stanway missed chances to extend the visitors' lead at the other end.
On the stroke of half-time, Scotland forward Claire Emslie's low finish drew Bristol City level.
City's Carli Lloyd was denied by a good Leach save after the interval and the visitors then went close through Bronze, Houghton and Parris before the England winger snatched a late, hard-fought victory.
The draw for the semi-finals will take place live on BBC Radio 5 Live at 14:45 BST on Monday, 27 March.
Manchester City Women reached their third consecutive Women's FA Cup semi-final thanks to a late Nikita Parris strike at Bristol City Women.