He intended to become a photographer, but pursued a career as an actor. He appeared as a child in the BBC's This Man Craig and Dr Finlay's Casebook, and Madame Bovary (with his friend Alex Norton) which gave him an avid interest in acting on television.
His first film role was in Lindsay Anderson's film if.... (1968). He also appeared in Anderson's O Lucky Man! (1973) and Britannia Hospital (1982) playing the same character in all three Anderson films, that of Biles. His other film credits include roles in Amadeus (1984), A Christmas Carol (1984), Gulag (1985), Heavenly Pursuits (1986), Little Dorrit (1987), The Great Escape II: The Untold Story (1988), Loch Ness (1996), The House of Mirth (2000), Dr Jekyll and Mr Hyde (2002), The Rocket Post (2004), Vanity Fair (2004) and Lassie (2005).
Pettifer was a regular in Rab C. Nesbitt mainly propping up a bar, but was also known as Aircraftman Bruce Leckie in Get Some In!, where he was constantly the butt of jokes directed at him by Corporal Marsh. He also played cousin Hughie in the long running Liverpool based 70s sitcom The Liver Birds.
He appeared in Hamish Macbeth, as well as guest starring in Still Game. In 2005, he also appeared in the first episode of the BBC drama Bleak House. In 2011 and 2013, he played Father Richards in The Field of Blood. His most recent appearance was as Poupart in the BBC One series The Musketeers.
In 2012, Brian Pettifer appeared as Archie Milgrow in the episode Old School Ties in the series New Tricks.