Carlos Tevez cancelled out Ezequiel Garay's opener to put the visitors in control but the Brazilian struck with just six minutes remaining to give Jorge Jesus' men the advantage
The Eagles opened the scoring after just three minutes of play in Lisbon, with Ezequiel Garay heading home a corner from Miralem Sulejmani after losing his marker, Leonardo Bonucci.
Juve netted a crucial away goal with 17 minutes remaining when Carlos Tevez left Luisao on his backside with a sublime feint, before coolly slotting the ball past Artur for his first goal in European competition since 2009.
However, there was to be late drama, with Lima lashing home a stunning stike from the edge of the era to give Benfica a narrow lead to protect in next week's second leg in Turin.
It took less than two minutes for Jorge Jesus' men to take the lead as Garay powerfully headed in Miralem Sulejmani's corner from the left.
Slack marking from Leonardo Bonucci allowed Garay a free header, with the defender's decision to push his opponent, instead of challenge him in the air, sure to be questioned by coach Antonio Conte.
Goalkeeper Gianluigi Buffon could not keep the effort out, despite getting two hands to it, and he will have been pleased to see Sulejmani slice an effort wide after a quick Benfica counterattack in the 11th minute.
Juventus – missing star midfielder Arturo Vidal to a knee injury – struggled to make inroads despite a good spell of possession, with Tevez not troubling Artur with a tame 20-yard effort.
Juve came close to leveling proceedings 10 minutes into the second half, with Artur doing well to tip Paul Pogba's header wide after Marchisio's clever center.
The Serie A leaders kept pressing, as Lichtsteiner's teasing ball across the face of goal had to be well cleared by Maximiliano Pereira before they were eventually rewarded by Tevez.
Marchisio's ball sent Kwadwo Asamoah free down the left and his cut-back to Tevez allowed the forward time before shooting. And he read the situation superbly, taking a touch to evade the sliding Luisao, before slotting through the legs of Artur to break his European drought.
Lima responded in style for Benfica, though, with the forward hammering a first-time strike home from the edge of the penalty area into the top-right corner, after Ivan Cavaleiro's clever dummy.
Lazar Markovic then shot wide for Benfica and there was still time for Juve to draw level again, only for Marchisio to fire against Artur when played through, before defender Giorgio Chiellini also wasted a late chance.
The result will lift Benfica ahead of Sunday's Taca da Liga semifinal against Porto, while Juventus is likely to rest players in Monday's Serie A visit to Sassuolo.