Saul Niguez and Griezmann put the Spanish side two goals up at the interval, but Leverkusen pulled one back through Karim Bellarabi at the start of the second half.
A Kevin Gameiro penalty then restored Atletico's two-goal advantage just before the hour mark, and while a Stefan Savic own goal gave Leverkusen hope again, Fernando Torres came off the bench to make it 4-2 late on.
Leverkusen look to extend unbeaten streak against Atletico
"It was a brilliant game for us, and the result could have been even better," said Atletico coach Diego Simeone. "We were almost perfect in the first half."
The home side put in a brave performance and came close to equalising in the last 10 minutes, but Torres's late goal sealed a deserved victory for the visitors ahead of the return in Spain next month.
Leverkusen started brightly, while Atletico looked to hit them on the break. In the 17th minute, the away side pounced. Cutting in from the right, Saul Niguez curled a fine shot into the far corner from the edge of the penalty area.
Atletico to face Barcelona in thrilling Copa del Rey semi-final
Atletico then grasped the game by the scruff of the neck and in the 25th minute a mistake by Aleksandar Dragovic allowed Gameiro to run at goal before squaring the ball to Griezmann, who rifled a shot past Bernd Leno.
To their credit, Leverkusen rallied and Kevin Kampl forced an excellent save from Miguel Angel Moya from long range.
Only a fine stop by Leno at the other end prevented Griezmann from scoring again but Leverkusen quickly pulled a goal back at the start of the second half. Benjamin Henrichs found space on the right and delivered a low cross which Bellarabi turned into the far corner.
"We found it difficult to get into the game in the first half, and Atletico did their job very well," Bellarabi told Sky after the game.
It was no less than the Leverkusen forwards deserved, but their defence continued to struggle. Gameiro first hit the bar before extending Atletico's lead from the penalty spot just before the hour mark.
Dragovic was at fault again as he wrestled Gameiro to the ground, the Frenchman calmly stroking the ball down the middle from the spot to make it 3-1.
Leverkusen refused to give up and an own goal gifted them another route back into the game on 66 minutes.
Fresh off the bench, Joel Pohjanpalo delivered a fine cross which ricocheted off Savic and into the Atletico net.
At 3-2, the hosts looked invigorated, and Javier Hernandez nearly equalised with 10 minutes to go, his shot cleared just in front of the line by Filipe Luis.
"We showed passion and readiness to fight," Leverkusen coach Roger Schmidt told Sky. "We had a very good 15 minutes towards the end, where the whole stadium got behind us."
But substitute Torres secured the win late on, heading the ball in at the near post to make it 4-2 with just four minutes to play.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ