Match ends, Arsenal Women 1, Manchester City Women 0.
Emma Mitchell's stunning strike meant Women's Super League champions Arsenal ended the season by inflicting a first league defeat on Manchester City.
City keeper Ellie Roebuck saved from Kim Little, Katie McCabe and Viktoria Schnaderbeck in the first half.
Meanwhile, the Gunners had a let-off when keeper Sari van Veenendaal avoided scoring an own-goal after spilling Lauren Hemp's header onto the post.
Substitute Mitchell struck from 25 yards with two minutes left to win it.
Arsenal had sealed the title - their first since 2012 - with a game to spare after winning at Brighton two weeks ago, and City welcomed Joe Montemurro's side onto the pitch with a guard of honour at Boreham Wood.
After Arsenal forward Beth Mead hit the side-netting from a narrow angle early on, the hosts found Roebuck in inspired form in the first half as the teenager pulled off a string of saves.
Van Veenendaal, making her farewell appearance for the Gunners alongside Netherlands teammate Dominique Bloodworth, denied Janine Beckie on the stroke of half-time and kept out a back-post header from substitute Pauline Bremer soon after the restart.
Women's FA Cup winners City looked like they would finish the league campaign unbeaten, but Mitchell's left-footed effort found the top right-hand corner after the visitors failed to properly clear a corner to give Arsenal their 18th victory from 20 WSL games in 2018-19.
England international Nikita Parris, the top scorer in WSL history, was left on the bench throughout by City boss Nick Cushing, who made a triple substitution at half-time.
Arsenal striker Beth Mead: "It is an amazing feeling. I have been lucky to lift the WSL 2 title but to win the Super League is a bit more special.
"The league was already won, so I guess people stayed in second gear but I thought we played very well and could have scored a lot more goals but we got what we deserved in the end.
"Mitch scored an absolute worldie. We wanted to win this game. We wanted to prove we are the best in the league and we did that. We won the league by seven points than just four."
Manchester City manager Nick Cushing: "We had an opportunity to be undefeated but it doesn't mean a lot when you haven't won the league. I do not see much difference between losing one game and not losing if you do not win the trophy.
"For us, it was about getting some football into some of the players who have not played a lot for us this season. They worked really hard and I made three changes at half-time.
"We lost on a moment at the end of the game but that's football.
"Arsenal have won it and if you do that, they are worthy champions. We have to go work hard to get seven points closer to Arsenal."
- 1van Veenendaal
- 15McCabeSubstituted forMitchellat 80'minutes
- 22SchnaderbeckSubstituted forCarterat 67'minutes
- 20BloodworthSubstituted forArnth Jensenat 84'minutes
- 7van de Donk
- 11MiedemaBooked at 86mins
- 4Arnth Jensen
Man City Women
- 3StokesSubstituted forCampbellat 45'minutesBooked at 90mins
- 8ScottSubstituted forStanwayat 45'minutes
- 19WeirSubstituted forBremerat 45'minutes
- 15HempBooked at 77mins
- Rebecca Welch
- Shots on Target
Second Half ends, Arsenal Women 1, Manchester City Women 0.
Megan Campbell (Manchester City Women) is shown the yellow card.
Foul by Megan Campbell (Manchester City Women).
Danielle Carter (Arsenal Women) wins a free kick in the defensive half.
Goal! Arsenal Women 1, Manchester City Women 0. Emma Mitchell (Arsenal Women) left footed shot from outside the box to the top left corner. Assisted by Leah Williamson with a headed pass following a corner.
Corner, Arsenal Women. Conceded by Gemma Bonner.
Foul by Georgia Stanway (Manchester City Women).
Daniëlle van de Donk (Arsenal Women) wins a free kick in the defensive half.
Attempt missed. Esme Morgan (Manchester City Women) right footed shot from the left side of the box is too high. Assisted by Pauline Bremer.
Gemma Bonner (Manchester City Women) wins a free kick in the defensive half.
Foul by Daniëlle van de Donk (Arsenal Women).
Vivianne Miedema (Arsenal Women) is shown the yellow card for a bad foul.
Keira Walsh (Manchester City Women) wins a free kick in the defensive half.
Foul by Vivianne Miedema (Arsenal Women).
Substitution, Arsenal Women. Janni Arnth replaces Dominique Bloodworth.
Tessa Wullaert (Manchester City Women) wins a free kick on the right wing.
Foul by Vivianne Miedema (Arsenal Women).
Substitution, Arsenal Women. Emma Mitchell replaces Katie McCabe.
Megan Campbell (Manchester City Women) wins a free kick in the defensive half.