McHattie was born in Antigonish, Nova Scotia, Canada. Outside of Star Trek, he is perhaps best known for playing the title role in the 1976 made-for-television movie James Dean. Co-starring with him in this movie was fellow DS9 guest star Meg Foster, whom he ultimately married. However, they have since divorced.

Another role he is well-known for is that of Gabriel during the final season of Beauty and the Beast, starring Ron Perlman, who went on to appear in Star Trek Nemesis. McHattie later guest-starred (with Jimmie F. Skaggs) on an episode of The Magnificent Seven, also starring Perlman (as well as Rick Worthy).

McHattie's recent films include the 2002 cult hit Secretary, the critically-acclaimed 2005 thriller A History of Violence, and the 2007 blockbuster 300. In the latter, based on the acclaimed graphic novel by Frank Miller, McHattie played a loyal Spartan politician. His co-stars on this film included fellow Enterprise guest actor Peter Mensah.

McHattie reunited with 300 director Zach Snyder for the 2009 film Watchmen, based on the acclaimed comic book (and later graphic novel) from DC Comics. In this film, McHattie played Hollis Mason, the original Nite Owl, while Matt Frewer and Jeffrey Dean Morgan played Moloch the Mystic and The Comedian, respectively. William Hoy was the film's editor, Ron Fassler played Ted Koppel.

McHattie has performed on the Broadway stage many times since 1968. In 1970, he worked alongside Rene Auberjonois in a production of William Shakespeare's Twelfth Night. From November 1973 through February 1974, he co-starred with Stefan Gierasch in a revival of Eugene O'Neill's The Iceman Cometh.

McHattie again worked with Gierasch in 1986 when they worked together in a revival of George Bernard Shaw's You Can Never Tell. J.D. Cullum also starred in this production; Susan Diol joined later in the run.

In 1989, McHattie was nominated for the Drama Desk Award as Outstanding Actor in a Play for his performance in Ghetto, in which he worked alongside George Hearn. McHattie's most recent Broadway production was Search and Destroy in 1992 with Keith Szarabajka.