Macedonia striker Pandev controlled a rebounded Stephan Lichtsteiner shot before spinning around and finding into the far corner on 65 minutes. Rocchi then sprinted on to a though ball and slid in to fire home and give the Rome side a precious advantage 12 minutes from time.
Midfielder Marco Marchionni had put Juventus in front in the 34th minute, intercepting a loose clearance and driving in with the help of a deflection.
The visitors made the brighter start and striker Vincenzo Iaquinta had a goal disallowed for offside early on, although TV replays suggested he was in line with the last defender when he received the ball.
Lazio responded well and Juve keeper Alex Manninger, standing in for the rested Gianluigi Buffon, did well to repel a diagonal Rocchi shot and a Cristian Ledesma free kick later in the first half.
Rocchi then missed a good chance from short range at the end of a slick move shortly after the break.
The hosts keep pressing hard after Pandev’s goal and Pasquale Foggia forced two more good saves from Manninger before Rocchi scored a deserved winner.
Serie A champions Internazionale visit Sampdoria in the other last-four, first leg on Wednesday. The return matches are in April.