Greater Christchurch has almost completely been painted red tonight.
With almost 100% of votes counted, Labour managed to retain all the seats it held before the election while adding a couple of fresh faces to its Christchurch contingency.
The biggest shock of the night was Labour's Sarah Pallett beating National's Gerry Brownlee in the race to become MP for the Ilam electorate. Brownlee had held the seat since 1996.
Here are the results:Ilam (94.9%)Incumbant National's Gerry Brownlee (46.6% of vote in 2017)
Candidates
• David Bennett Green Party 2313
• Gerry Brownlee National Party 13,884
• Paul Gilbert ACT New Zealand 1612
• Heidi Jensen-Warren NZ Outdoors Party 218
• Sarah Pallett - Labour Party 16,001
• Toni Pengelly Advance NZ 170
• Simon Walmisley New Conservative 533
Christchurch Central (94.3)Labour's Duncan Webb (47.93% of vote in 2017)
Candidates
• Mark Arneil New Zealand First Party 424
• Michael Britnell Aotearoa Legalise Cannabis Party 428
• Carole Church Advance NZ 248
• Chrys Horn Green Party 1744
• Abigail Johnson ACT New Zealand 825
• Hayden Laurie Independent 66
• Benjamin Price New Conservative 341
• Dale Stephens National Party 8086
• Duncan Webb Labour Party 18,985
• Ken Webb ONE Party 105
Christchurch East (95.2)Incumbent MP: Labour's Poto Williams (54.4% of the vote in 2017)
Candidates
• Nikki Berry Green Party 1996
• Paula Maree Eason ONE Party 135
• Helen Houghton New Conservative 879
• Paula Lambert Aotearoa Legalise Cannabis Party 444
• Glen McConnell Advance NZ 282
• Lincoln Platt National Party 6758
• Toni Severin ACT New Zealand 1095
• Charlotte Staples NZ Outdoors Party 167
• Poto Williams Labour Party 20,816
Wigram (91.7%)Incumbent MP: Labour's Megan Woods (52.31% of the vote in 2017)
Candidates
• Douglas John Allington Advance NZ 206
• Hamish Campbell National Party 7273
• Tubby Hansen NZ Economic Euthenics Party 54
• Deane Landreth Social Credit 54
• Miles Jacin McConway ACT New Zealand 791
• Linda McLaughlin ONE Party 161
• Geoff McTague Independent 62
• Averil Nuttall New Conservative 473
• Richard Wesley Green Party 1398
• Megan Woods Labour Party 18,028
Banks Peninsula (97.5%)Incumbent MP: Labour's Ruth Dyson (53.89% in 2017 – Port Hills electorate)
Candidates
• Ben Atkinson The Opportunities Party (TOP) 1208
• Catherine Chu National Party 10745
• David Fox ACT New Zealand 1428
• Caleb Honiss New Conservative 530
• Tracey Lee McLellan Labour Party 21,870
• Denis O'Rouke New Zealand First Party 564
• Eugenie Sage Green Party 5015
• Tiamara Williams Advance NZ 386
Selwyn (95.1%)
Incumbent MP: National's Amy Adams (66.22% of the vote in 2017)
Candidates
• Stuart Armstrong ACT New Zealand 1510
• Reuben Davidson Labour Party 12,974
• Nicola Grigg National Party 17,942
• Jerry Larason Advance NZ 267
• Bronwyn Lyell New Conservative 748
• Abe O'Donnell Green Party 1296
• Calvin Payne Independent 347
Waimakariri (97.3)
Incumbent MP: National's Matt Doocey (57.6% of the vote in 2017)
Candidates
• Leighton Baker New Conservative 1817
• James Davies ACT New Zealand 1094
• Matt Doocey National Party 19,228
• John Hyndman Sustainable New Zealand Party 308
• Lawrence McIsaac Social Credit 115
• Shelley Richardson Advance NZ 252
• Dan Rosewarne Labour Party 17255
• Bjorn Sadler Independent 148