Joe Armstrong is the son of actor Alun Armstrong and his wife Sue. He has an older brother, Tom, and a younger brother, Dan, who is in the band Clock Opera. He was born and raised in London, and he attended Elliott School in Putney from 1993 to 1997. He then studied at the University of Bristol, where he acted in The Brecht Project—a collection of scenes from the works of Bertolt Brecht—in 1998 and Women Beware Women in 1999. He is a fan of AFC Wimbledon.
Joe Armstrong's first television role was a bit part in a 2003 episode of The Bill, followed by a brief appearance in the ITV mini-series Between the Sheets starring his father Alun Armstrong. In the 2004 BBC film Passer By, he had a supporting role as one of two men accused of assaulting a woman on a train. He guest starred in the 2004 Waking the Dead episode "Fugue States" as a young man who reappears with amnesia after being abducted as a child. Also in 2004, he played the son of a murdered farmer in the Foyle's War episode "They Fought in the Fields."
Other television credits include guest spots in Midsomer Murders (2004), Blackpool (2004), Rose and Maloney (2005), another episode of The Bill (2005), The Inspector Lynley Mysteries (2006), Party Animals (2007), The Last Detective (2007) and The Whistleblowers (2007).
In 2006, Armstrong was cast in the BBC series Robin Hood as Allan—based on the legendary figure Alan-a-Dale—who joins Robin's band of outlaws in Sherwood Forest. Allan later becomes allied with the sympathetic villain Guy of Gisborne but has a change of heart and rejoins his friends. Armstrong appeared in all three series from 2006 to 2009. The series was filmed on location in and around Budapest.
Armstrong portrayed Norman Heatley in the 2009 BBC Four film Breaking the Mould about the team who turned penicillin into a viable medicine. In 2010, he co-starred with Billie Piper in the two-part drama A Passionate Woman as the husband of a woman who has an affair. His father Alun Armstrong played the older version of his character.
He guest starred in an episode of Hustle in 2011, and he was a regular cast member in the third series of Land Girls. He appeared in Public Enemies starring Daniel Mays and Anna Friel in 2012.
Armstrong played Hotspur in Richard Eyre's 2012 production of Henry IV, Part I—one of four films in the BBC Two Shakespeare cycle The Hollow Crown. He employed a Geordie accent for the role. Jeremy Irons played Henry IV, with Tom Hiddleston as Prince Hal and Alun Armstrong as Hotspur's father, the Earl of Northumberland.
In the 2013 drama The Village, depicting life in a Derbyshire village in the early 20th century, he plays Stephen Bairstow, a detective scarred by his experiences at the Front in World War I. The character was originally a minor one, but writer Peter Moffat expanded the role because he was impressed with Armstrong. He reprised his role in the second series in 2014.
Armstrong played drug dealer-turned-kidnapper Ashley Cowgill in Sally Wainwright's 2014 crime drama Happy Valley, starring Sarah Lancashire.
In 2016, he appeared in "Hated in the Nation", an episode of the anthology series Black Mirror.
Performing with the National Youth Theatre, Armstrong's roles included Gerry Evans in Dancing at Lughnasa in 1998 and Lieutenant Stedna in They Shoot Horses, Don't They? in 2000. He also played Wackford Squeers in Nicholas Nickleby.
In 2003, Armstrong had the dual roles of Adam and Jeff in Protection by Fin Kennedy at the Soho Theatre. He appeared in How Love Is Spelt by Chloe Moss at the Bush Theatre in 2004 and in A Night at the Dogs by Matt Charman at the Soho Theatre in 2005.
At the Edinburgh Festival Fringe in 2009, he played Liam in the Dennis Kelly play Orphans. The play premiered at the Traverse Theatre in August and then moved to the Birmingham Repertory Theatre in September and the Soho Theatre in London in October. Armstrong was nominated for a Stage Award for Best Actor.
In the DC Moore play The Empire, Armstrong starred as Gary, a Lance Corporal in Afghanistan guarding an injured prisoner who claims to be British. Paul Taylor of The Independent wrote: "Gary ... veers between seething anger and low-key sarcasm, an oscillation superbly conveyed by excellent Joe Armstrong." In preparation for the role, Armstrong and other cast members met with soldiers who had served in Afghanistan. The play had a six-week run at the Jerwood Theatre Upstairs in the Royal Court Theatre from March to May 2010 followed by two weeks at the Drum Theatre in the Theatre Royal, Plymouth in May.
Armstrong played RAF tail gunner Dusty Miller in Terence Rattigan's World War II drama Flare Path in 2011. The critically acclaimed revival directed by Trevor Nunn ran from March to June at the Theatre Royal Haymarket.
In 2012, he played Jean in Miss Julie opposite Maxine Peake in the title role at the Royal Exchange Theatre in Manchester. Armstrong described the role as one of his most challenging because of the need to make his character's sudden changes in mood believable. Alfred Hickling of The Guardian remarked that "Joe Armstrong's Jean ... flips back and forth between brute arrogance and fawning servility with the casual manner of tossing a coin."
In a 2013 production of Harold Pinter's The Dumb Waiter at The Print Room, Armstrong played Gus alongside Clive Wood as Ben. Matt Trueman of The Telegraph called Wood and Armstrong "two perfect Pinterians," and Fiona Mountford of The Evening Standard wrote, "Armstrong, always an actor of easy geniality, flourishes in particular with this short, sharp, light-footed humour."
Armstrong co-starred with Louise Brealey in the 2015 touring production of Constellations.
In 2006, Armstrong was in two short films: A Ticket Too Far and Service. The latter was part of the Coming Up series on Channel 4.
He appears in Nae Caranfil's film Closer to the Moon, also starring Vera Farmiga, Mark Strong and Harry Lloyd, which was filmed in Bucharest in the autumn of 2011 and was released in Romania in 2014. The film is about the bank robbery allegedly committed by the Ioanid Gang in 1959 Romania. Armstrong's character Răzvan is based on the journalist Haralambie Obedeanu who was one of the accused.
Armstrong performed in the BBC radio plays Girl from Mars in 2008 and Hitched in 2010, and he read the story Gifts by Garry Kilworth as part of a Christmas radio programme. In 2011, he co-starred with Richard Briers and Edna Doré in the Radio 4 drama A Shoebox of Snow. Armstrong reprised his role in DC Moore's The Empire for a BBC Radio 3 production. He was in the radio serial Ruthless by Tim Loane on Radio 4 in 2012. In 2013, he played Sergei in a Radio 4 adaptation of Lady Macbeth of Mtsensk, and he appeared in the series The Corrupted by G. F. Newman. He performed in the drama Ghosts of Heathrow in 2014 and in adaptations of The Bone Clocks, The Book Of Strange New Things and The Trial.