Sharapova won her first tournament of the year and clinched the 30th title of her career. She is now undefeated in 13 consecutive matches on the indoor clay in Stuttgart.
Ivanovic wasted a 3-1 lead in the second set as Sharapova raised her game to stay in the high-quality match and finally prevail in a showdown between two former top-ranked players and French Open champions. Ivanovic was seeking her third title of the year.
“I just tried to hang in there,” Sharapova said.
Ivanovic got off to a flying a start and won the first five games of the match before Sharapova started fighting back.
Ivanovic wasted a set point and could not serve out the set at love. She gifted Sharapova another game with a double-fault but finally pulled together to win the first set.
Sharapova had trouble reading Ivanovic's varied game and change of pace. But she held on as Ivanovic began to lose her focus.
Sharapova returned late last year after missing four months following shoulder surgery.
“It was a very tough year for me,” she said. Stuttgart is the only tournament Sharapova has won three times.
It was the fourth-seeded Nishikori's fifth career title on all surfaces and his second of the year.
Giraldo started well with an early break in his favor but an argument with the chair regarding a line call seemed to rattle the unseeded player.
Giraldo then failed to reach Nishikori's drop shot before hitting a costly double fault to cede back his serve.
Nishikori went on to win eight straight games to claim the first set and take control of the match. This is the first time a non-Spaniard has won the tournament at the Real Club de Tenis since 1996.
Top-seeded Grigor Dimitrov defeated defending champion Lukas Rosol, 7-6 (2), 6-1, to win the Nastase Tiriac Trophy in Bucharest, Romania, for his third ATP title.
The 22-year-old Bulgarian needed 55 minutes to take the first set from Rosol, who broke Dimitrov's service in the third game.
Dimitrov got into his stride to take the second set in 25 minutes and finished the tournament without dropping a set. Ranked 16th, Dimitrov reached the quarterfinals of the Australian Open where he lost to Rafael Nadal.