Burns parents were both school teachers. He was a good cricketer as a child though not a prodigy. ""I finished uni, thinking I was going to get a job in business," he said. "I didn't play cricket with the ambition of playing professionally … but you make a few runs, go up the grades, and it all happened so quickly from there." Burns grew up in Brisbane's northern suburbs and attended Nudgee College.
Burns made an exceptional start in his Sheffield Shield debut against South Australia, scoring 140 in February 2011. The following season saw him develop into one of the highest scoring batsmen in Australian first-class cricket. His performances resulted in a call up to the Australia A to face the touring party from England, where he scored 114 in a one-day game, not long after being named the Bradman Young Cricketer of the Year. Burns continued his good form on his return to Australia and was top scorer for the Brisbane Heat in their win over Perth Scorchers in the final of the 2012–13 Big Bash League season.January 2013 - 2012/13 KFC Big Bash League Final - PRS v BRH"> His performances brought him to the attention of Leicestershire who signed him as a replacement for their overseas player, Ramnaresh Sarwan, between May and August of the 2013 County season. This was curtailed in July, when a hip injury forced Burns to end his spell in England and return home to Queensland. He deputised for the Middlesex captain Adam Voges during the 2015 English season. In December 2017, Burns scored his maiden first-class double century, batting for Queensland against South Australia in the 2017–18 Sheffield Shield season. In March 2018, Cricket Australia named Burns in their Sheffield Shield team of the year. In 2019, he signed with Lancashire ahead of the 2019 County Championship in England., but returned to Australia for personal reasons after making only one appearance.
On 28 March 2018, Burns was urgently recalled to the Test side following the suspensions of Steve Smith, David Warner and Cameron Bancroft for ball tampering during the third Test of the Australian 2018 Tour of South Africa. In February 2019, Burns was again recalled to the Test squad for the two match series against Sri Lanka, and opened the batting in both matches. In the first match, across both Sri Lanka innings, Burns fielded at slips and took three catches. In June 2019, Burns was diagnosed with a fatigue disorder, dating back to a viral infection that he suffered in October 2018. He recovered, and was recalled in the home Test series against New Zealand in December, 2019. In April 2020, Cricket Australia awarded Burns with a central contract ahead of the 2020–21 season.