The Brazil striker nodded in a Nicolas Gaitan free-kick to give the Portuguese champions a slender advantage.
Jonas's 25th goal of the season came after Zenit defender Domenico Criscito was sent off for a second booking.
Benfica were the better side in the second half against a Zenit team that had not played for 10 weeks.
Zenit's last competitive fixture was their final group game in the competition on 9 December and Andre Villas-Boas' side looked short of their best following the winter break.
The Russian champions failed to create a serious chance but looked like going into the return leg as marginal favourites until Criscito committed a foul on Andre Almeida to concede the decisive free-kick.
Criscito is one of four players who will now miss the second leg on 9 March through suspension, with team-mate Javi Garcia and the Benfica pair of Almedia and Jardel also banned after picking up yellow cards.
Benfica, who last reached the quarter-finalists in 2012, struggled to force a breakthrough, although they should have gone ahead in the 69th-minute.
Argentine playmaker Gaitan cleverly made space for a shot but couldn't beat goalkeeper Yuro Lodygin and defender Jardel also shot wide following a corner before the predatory Jonas proved the difference.
Zenit St-Petersburg coach Andre Villas-Boas: "We were solid and wanted to keep the result as it was. We looked to be on track for the second leg. Unfortunately from the set-play we conceded.
"It's going to be a different game now. We will have to attack more and create more chances because we didn't create as much as we wanted.
"But at 1-0, the tie is still open."
An injury-time header from Jonas gave Benfica a 1-0 lead to take to Zenit St Petersburg for the second leg of their last-16 Champions League tie.