Anna van der Breggen secured her third Giro Rosa title as Evita Muzic won the final stage.
Dutch rider Van der Breggen, who took the race lead on Friday, held off any attacks on the tough 109.9km circuit around Motta Montecorvino in Italy.
Kasia Niewiadoma finished second overall, one minute 14 seconds down on Van der Breggen, while Elisa Longo Borghini held on to third.
France's Muzic won a select sprint from the breakaway.
"I'm really happy - it's special to win the Giro," said Boels-Dolmans rider Van der Breggen, who also won the pink jersey in 2015 and 2017.
"The last day is always a bit exciting. The gaps were pretty big, but still, it was a hard lap.
"I had the team around me the whole day and I felt confident with them around me."
On the second of four laps on stage nine, the peloton split apart, with a group of 27 riders out in front, but not containing any of the threats to Van der Breggen's race lead.
The breakaway kept splintering until a group of seven riders arrived together in the final kilometre, with Muzic kicking clear to take the victory ahead of Niamh Fisher-Black in second, with Juliette Labous third.
Olympic champion Van der Breggen, who is set to retire after next year's rescheduled Tokyo Games, marked the moves behind to ensure she would not lose the lead, even taking four more seconds on Niewiadoma at the finish.
Denmark's Cecilie Uttrup Ludwig attacked to try and gain the three seconds she needed to overhaul stage eight Longo Borghini into third overall.
But the Italian matched her all the way to the line to secure her first podium finish since coming second in the 2017 race, finishing two minutes 20 seconds back on Van der Breggen.
Van der Breggen's compatriot Annemiek van Vleuten had looked on course for her third straight title but was forced to abandon the race while leading on Thursday after breaking her wrist in a crash on stage seven.
Final general classification
1. Anna van der Breggen (Ned/Boels-Dolmans) 26hrs 25mins 43secs
2. Kasia Niewiadoma (Pol/Canyon-SRAM) +1min 14secs
3. Elisa Longo Borghini (Ita/Trek-Segafredo) +2mins 20secs
4. Cecilie Uttrup Ludwing (Den/FDJ) +2mins 22secs
5. Mikayla Harvey (NZ/Equipe Paule Ka) +2mins 52secs
6. Ashleigh Moolman (SA/CCC Liv) +5mins 02secs
7. Ane Santesteban (Spa/Ceratizit-WNT Pro Cycling) +6mins 31secs
8. Paula Patino (Col/Movistar) +6mins 54secs
9. Mavi Garcia (Spa/Ale BTC Ljubljana) +7mins 06secs
10. Evita Muzic (Fra/FDJ) +7mins 47secs