Saúl Ñíguez and Antoine Griezmann handed the visitors a 2-0 lead at the break before Karim Bellarabi reduced arrears three minutes into the second-half.
Kevin Gameiro restored Atletico’s two-goals advantage from the penalty spot, but Stefan Savić scored an own goal to give the hosts a way back into the tie again.
Fernando Torres nodded home late in the game to put Atleti in control going into the second leg, which takes place at the Vicente Calderón on March 15.
Niguez fires visitors ahead
Diego Simeone’s side finished runners-up in the Champions League last season and topped Group D ahead of Bayern Munich to set up the tie with Leverkusen in the first knockout round.
The Spanish outfit raced out the blocks and were denied an opening goal when Bernd Leno denied Griezmann before Wendell sliced Filipe Luís’ cross onto his own bar – attempting to clear the danger.
Atleti continued their fine start to the game and took the lead, Ñíguez skipped past Kevin Kampl before cutting back inside and curling into the top corner to break the deadlock.
Griezmann doubles lead before half-time
Simeone’s men doubled their lead eight minutes later after Gameiro latched up Aleksandar Dragović’s mistake and broke forward with pace.
The Frenchman laid the ball off into the path of Griezmann, who made no mistake with the finish, striking low into the net for his 14th Champions League goal for the Spanish side.
It was a dominant opening half for the visitors, who could have had more than a two-goal lead at the break as Griezmann was denied by an excellent save by Leno from close range.
Hosts strike back twice in second-half
Leverkusen found themselves back in the game just minutes after the restart when Benjamin Henrich’s cut the ball back to Bellarabi, who finished well.
However, the visitors struck back once again within the space of 10 minutes as Atletico were awarded a penalty after Dragović brought down Gameiro inside the area.
The French international struck the ball straight down the middle to restore their two-goal lead, but the Bundesliga outfit clawed their way back once more just after the hour mark.
Julian Brandt’s cross could only be parried out by Miguel Moya, and the ball came off Savić and into the back of his own net.
Torres restores two-goal lead late in game
Leverkusen were lifted and went in search of an equaliser in the closing stages of the game, and were unfortunate not to have found one with eight minutes remaining.
Former Manchester United striker Javier Hernandez’s shot was cleared off the line by Filipe Luís, and the Spanish side went up another gear in the closing stages to restore their two-goal advantage for the third time in the game.
Substitute Torres was picked out by Sime Vrsaljko’s cross on 90 miuntes and the Spaniard headed home unmarked in the penalty area.
Atletico leave themselves in full control heading into the second leg.