Det small redan efter fyra minuter på Wanda Metropolitano när Atlético Madrid pressade högt och Borussia Dortmund försökte sy ihop ett uppspel ända ned från målvaktspositionen.
Det fick de betala för när Rodrigo De Paul snappade upp bollen och stötte in 1-0 till publikens stora jubel.
Och efter en halvtimme var det dags igen när Antoine Griezmann chippade fram Samuel Lino som satte 2-0.
Även det efter tveksamt försvarsspel i det tyska laget.
2-0 stod sig halvleken ut, och efter paus hade Atlético en jättechans att göra 3-0 när Griezmann smekte in en inåtskruvad frispark som Lino var först på, men Gregor Kobel stod för en högkvalificerad räddning.
Istället var det Dortmund som tog sig in i målprotokollet strax därefter när Sebastien Haller fick bollen i straffområdet, vände runt, och hittade nätet.
Julian Brandt hade en nick i ribban i matchens sista minut, men 2-1 stod sig, och det är nu fördel Atlético inför returen som spelas nästa vecka i Dortmund.
- Det kunde ha blivit oavgjort. De gjorde offensiva byten och fick in snabba spelare på kanterna. Vi fick gå på defensiven, och när vi inte kunde göra 3-1 så gjorde de 1-2, säger Atléticos tränare Diego Simeone enligt Marca.
- Returen blir en tuff och viktig match, vi måste vara beredda.
Dortmunds lagkapten Emre Can:
- Det känns öppet inför returen. De är inte enkla att möta för de försvarar så pass bra. Målet var viktigt för oss. De kunde ha gjort slut på oss i första halvlek, de körde över oss i närkamperna. Men vi visade laganda, kämpade tillbaka och var nära 2-2.
- Våra chanser är inte dåliga. Det kommer inte bli enkelt, men vi tror på oss själva. Vi kan göra det.
Startelvor:
Atlético Madrid: Oblak - Molina, Gimenez, Witsel, Azpilucueta, Lino - Llorente, Koke, De Paul - Morata, Griezmann
Borussia Dortmund: Kobel - Ryerson, Hummels, Schlotterbeck, Maatsen - Can, Sabitzer, Nmecha - Sancho, Adeyemi, Füllkrug
Samtliga matcher i Champions League sänds på TV4 Play.