Tadic opened the scoring in the 59th minute as he turned a low effort from Dusan Basta into the back of net from close range, with Eiji Kawashima rooted to the spot.
Japan threatened through Shinji Kagawa and Shinji Okazaki but both men wasted opportunities from close range.
Serbia's win was confirmed when Jojic grabbed a debut goal in the first minute of injury time, the 21-year-old diving in to convert a low cross from Stefan Scepovic.
Dejan Stankovic came out of retirement to make his 103rd cap for Serbia and become the country's most-capped player in the process, while Kagawa and Keisuke Honda both started for Japan.
Stankovic – who retired from international football after Euro 2012 - lasted 11 minutes before being replaced through a guard of honour, with Ivan Radovanovic replacing the 35-year-old.
The visitors nearly gifted their hosts the lead midway through the first half after a dreadful mistake from Atsuto Uchida. The Schalke defender tried to intercept a throughball for Filip Dordevic, but only succeeded in laying the ball into the striker's path.
Dordevic lifted the ball into Zoran Tosic but the winger's shot was deflected that enabled Kawashima to claim.
Japan's first sight of goal came six minutes later when Makoto Hasebe and Honda combined to release Kagawa inside the penalty area.
The 24-year-old's low shot brought the first save out of Vladimir Stojkovic but he was not stretched and kept the ball out easily with his legs.
The deadlock was finally broken just before the hour after Uchida went close for Japan early in the second half.
Basta wriggled away from two challenges on the edge of the penalty area and went for goal, only to scuff his shot, but luckily it fell perfectly for Tadic and he fired into the top corner from 10 yards.
Japan's best opportunity of the second half came with 15 minutes to play as Okazaki took the ball away from his marker on the edge of the area, reacting quickly to be one-on-one with Stojkovic but fired wide.
Serbia wrapped up the win when debutant Jojic timed his run perfectly to meet Scepovic's low cross, the Partizan striker lunging in to poke the ball home from three yards out.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.