Brattan was born in Hull, England, but moved to Australia when he was six months old. His father Gary formerly played for Hull City.
Club career
Brisbane Roar
Brattan made his senior debut as a 19-year-old in the Queensland Roar's "Against Racism" clash against Scottish football giants Celtic in 2009, displaying early potential. His debut A-League appearance was away to Perth Glory in December 2009. Often described as one of the best passers of the ball at the club, Brattan finally nailed down a regular spot in the Brisbane Roar starting side after two seasons hampered by injury. He scored the winning goal against Melbourne Victory on 22 March 2014 to award Brisbane the Premiers Plate. In the 2013–14 season Brattan capped a great year by being named in the 2013–14 PFA A-League Team of the Season. Brattan was released by the club in the run up to the 2015–16 A-League season following disputes over unpaid superannuation.
Manchester City
Following his release from Brisbane Roar, Brattan was linked with a move to English Premier League side Manchester City. On 26 October 2015, Brattan completed the free transfer move to Manchester City on a four-year deal.
On the same day of signing for Manchester City, he was immediately sent out on loan to Bolton Wanderers in the Championship until 3 January2016. However, the loan was cut short by two weeks and Brattan was recalled by his parent club without having played a single game for Bolton Wanderers.
Melbourne City loan
In June 2016, Brattan joined Melbourne City on a one-year loan deal. He made his first appearance in a City shirt in a 5–0 friendly match win over Port Melbourne SC on 20 July 2016. On 1 August 2017, Melbourne City announced that Brattan's loan deal at the club had been extended for an additional year. On 5 July the club confirmed Brattan's loan would be extended by a third season. On August 6, 2018, during the first half of the First Round match of 2018 FFA Cup against Brisbane Roar Brattan fell to the ground in a challenge with Stefan Mauk and was accidentally kicked in the head by the opposition player as Mauk kicked the ball away. When the club doctor suspected he had suffered a spinal injury, the game was suspended for 40 minutes as they awaited a specialist ambulance designed for transporting patients with head, neck or spine injuries. He was transported to Redcliffe Hospital. The 45 minutes of additional time at the end of the match was a figure that broke records and is one of the longest injury time periods in any major football competition.
Sydney FC
In July 2019, Brattan joined Sydney FC on a one-year contract.