Defending champions Inter started on the front foot, racing into the lead after 15 minutes when midfielder Nicolo Barella played the ball through to Dimarco inside the box and he found the net with one touch.
Soon after the second half began, Edin Dzeko appeared to have doubled the hosts’ lead with a nice finish from a tight angle, but he was flagged offside.
Juve keeper Mattia Perin then pulled off a superb one-handed save to tip Henrikh Mkhitaryan’s attempt wide in the 73rd minute.
Inter will face either Fiorentina or Cremonese in the final on May 24 at the Stadio Olimpico, with Fiorentina leading 2-0 after their semifinal first leg in Cremona.
Inter plays AC Milan in the Champions League semifinals next month. It beat its city rival to win the Italian Super Cup in January.
“I can’t tell you the truth, but it doesn’t matter how I hit it,” Dimarco said with a laugh when asked if he had actually mishit his shot. “The important thing is that the ball went in. That’s what matters in the end.
“We’ve got through the Champions League quarterfinals, we’ve reached this final, we have to continue like this. This group is incredible, made up of boys who fight for this jersey every match and show what they’re worth.”