Juventus will have the chance to stamp their mark on the competition two years running while Roma get their opportunity to turn the tables and take revenge for last season's 2-1 defeat.
Before they battle it out for the trophy, let's look at how both second legs of the semi-finals played out overnight.
Juventus 2-1 Inter (3-2 aggregate)
Both teams entered the second leg with all to play for after a 1-1 draw in the first fixture between them, but it was the Bianconeri who persevered to win in extra-time at Vinovo.
Juventus had the perfect start when Sara Gunnarsdóttir opened the scoring in just the second minute, but Inter didn't give up and were rewarded when Tabitha Chawinga equalised seven minutes from the end of regulation.
With the game in the balance heading to extra-time, Lineth Beerensteyn was the hero for Juventus with the winning strike in the 100th minute.
Montemurro's side held off Inter in the final minutes to seal their spot in the final as their quest for a second straight title continues.
Roma 3-1 Milan (3-2 aggregate)
Roma needed an impressive effort to overcome a 1-0 deficit heading into the second leg, and showed they deserve a spot in the final with a last-gasp stoppage time goal from Vicky Losada at the Stadio Tre Fontane.
It was Milan who drew first blood again as Martina Piemonte put them ahead in the 31st minute, but Andressa Alves struck back 10 minutes later to restore parity heading into half-time.
Still needing two goals in the second stanza, Roma hit the ground running as Valentina Giacinti struck in the 62nd minute to put them in touching distance.
With time running out and extra-time looming, Spanish international Losada pounced to break Milan hearts and send her teammates and Roma fans into raptures, as they reached their second straight Coppa Italia final in the most dramatic of fashion.