The home side had slightly more of the ball and created nine chances to Ternana’s 12.
Ternana should have taken the lead early on, but Tiago Casasola had his penalty, awarded for a foul on Franco Carboni, saved convincingly by Bari goalkeeper Marco Pissardo.
Bari scored the opener in the 59th minute through Marco Nasti, who tidily finished off the good work started by a positive run from Giacomo Ricci.
Just as it looked as though Ternana would head into the return leg trailing, Gaston Pereiro scored the equaliser in the 82nd minute with a deflected shot that left Ternana keeper Antony Iannarilli rooted to the spot.
The second leg kicks off at 4:30 a.m. on Friday morning (AEST), live and exclusive on Il Globo TV.
Want access to every Serie A and Serie B game live and on demand? Subscribe here.