Williamson attended Tauranga Boys' College from 2004–2008 where he was Head Boy in his final year and was coached by Josh Syms. Syms described Williamson as having "a thirst to be phenomenal – but not at anyone else's expense." 
Williamson signed for Gloucestershire to play in the 2011 English county season. On 14 August 2013, he signed for Yorkshire for the rest of the season and subsequently signed to return for the 2014 season, when the his side won the County Championship. He signed to return the latter part of the 2015 season, but when incumbent overseas player Aaron Finch was not selected for the Australia ODI squad, Yorkshire ultimately chose to extend Finch's deal in place of Williamson. He subsequently signed a deal for part of the 2016 season.
Williamson was 17 when he led the New Zealand Under-19 side in the World Cup in Malaysia in 2008. New Zealand reached the semi-final where they lost to eventual champions India. On 24 March 2010 Williamson was named in the New Zealand Test squad for the second Test against Australia, but ultimately he did not play in the match.
Williamson made his one-day International debut against India on 10 August 2010. He was dismissed for a 9th ball duck. In his second match, he was bowled by Angelo Mathews for a second ball duck. He scored his maiden ODI century against Bangladesh on 14 October 2010 in Dhaka and hence became the youngest centurion in New Zealand cricket history. Due to his performance on the Bangladesh tour where New Zealand suffered a 4–0 whitewash, Williamson was selected in the New Zealand Test squad for the tour of India that followed.
Williamson scored test match score of 161 against West Indies in June 2014. It was his second test century of the series and helped secure a rare away test series victory for his side. Williamson finished as the leading overall run scorer in the series with 413 runs, and was only denied a double century by rain which forced skipper Brendon McCullum to declare in the interest of a result in the match. He was also reported for chucking in April 2014, but was cleared in December 2014. His illegal bowling action started after he left high school in order to get a faster release and turn on the ball. His new action essentially reverts him to his action in high school, with a more side-on approach and less wrist and elbow deviation. He was also named as captain ahead of the ODI and Twenty20 series against Pakistan as Brendon McCullum was rested.
Williamson is currently third on the list (behind Corey Anderson and Jesse Ryder) for the highest ever strike-rated century by a New Zealander in a One-Day International. He achieved during his 100* off 69 balls against Zimbabwe at Bulawayo, but a fine innings of 99* by Malcolm Waller ensured that he ended up on the losing side. On 19 September 2014 he scored his first T20 hundred scoring 101* in 49 balls to guide Northern Districts for a comfortable win against Cape Cobras in Champions League Twenty20 2014. He has also established one of the most potent no.3-no.4 top-order partnership with Ross Taylor, with himself being the most prolific no.3 batsman for the national side since former captain Stephen Fleming. Also, Fleming (in 2006) and Williamson (in 2015) became the most recent no.3 batsmen to score double centuries. However, they were also involved in 12 run outs across all forms of international cricket as of 26 January 2015 when they are both on the crease. As a fielder, his position is predominantly at gully, but can move to point with spin bowlers, or cover point with fast bowlers.
In 2015, he started with 69 and 242 not out against Sri Lanka, with two catches in the field in a man-of-the-match performance. On 3 February 2015, he helped New Zealand score the 99th ODI century in the team's history against Pakistan; Ross Taylor scored the 100th in the same match. He also scored over 700 runs before the 2015 Cricket World Cup in just the first two months of the calendar year. On 17 June 2015 he became the fifth-fastest batsmen and fastest New Zealander to score 3,000 runs, getting them in just 78 innings. On 15 November 2015 Williamson and Taylor became the first pair of away batsmen to each score second-innings-centuries at WACA Ground.
In December 2015, during the second Test against Sri Lanka, Williamson broke the record for the most Test runs scored in a calendar year by a New Zealander, with 1172 runs. He also ended 2015 with 2692 runs, the highest score across all forms of international cricket for the year, and third highest totals in a single year.
In March 2016, Williamson appears to be in line for the position of captain of New Zealand across all forms of cricket after the retirement of Brendon McCullum, beginning with the World T20I cup in India.