Playing his maiden ATP 1000 final, eighth seed Schwartzman raced out of the blocks to convert two break point opportunities for a 3-0 lead as Djokovic struggled to put a lid on his backhand errors.
An on-and-off drizzle at Foro Italico added to Djokovic's frustration but he still found a way past Schwartzman's serve to draw level at 3-3.
Djokovic's relentless baseline hitting came to the fore when he broke Schwartzman in the 12th game to take the opening set, despite committing 18 unforced errors.
Schwartzman, who outplayed defending champion Rafa Nadal in the quarter-finals, snatched another early break in the second set but this time Djokovic was quick to respond.
The top seed stepped up the intensity to break Schwartzman's serve twice before serving out the match to seal victory.
The result also comes as a relief for Djokovic, who was desperate to return to court this week following his US Open disqualification for inadvertently striking a line judge with a ball.
Heading into next week's French Open, Djokovic has now won 31 of his 32 matches this season, and will be one of the favourites in Paris alongside 12-times winner Rafa Nadal and newly-crowned US Open champion Dominic Thiem.