Milan hit the woodwork twice and had penalty appeals, but it was Atletico Madrid who won 1-0 at San Siro.
Clarence Seedorf is the first player to win the Champions League for three different clubs, but this Round of 16 first leg tie was his debut in the tournament as a Coach. He took on Diego Simeone’s Atletico Madrid without Cristian Zapata, Robinho, Stephan El Shaarawy, Valter Birsa and Bryan Cristante, while Riccardo Montolivo and Sulley Muntari were suspended. Kaka shook off an ankle injury to start with Adel Taarabt and surprisingly also Andrea Poli in a more advanced role. The Spaniards had Tiago, Filipe Luis and Javi Manquillo injured.
The visitors got off to a strong start, but on 14 minutes Kaka curled a magnificent effort from the edge of the box that was deflected to smack against the crossbar.
Milan rattled the woodwork again moments later, as Adel Taarabt whipped in a free kick from the right for Poli’s glancing header, but it was brilliantly fingertipped on to the base of the far post by Thibaut Courtois.
The tension escalated with a touchline brawl following a mistimed Emiliano Insua sliding tackle on Mattia De Sciglio. It earned a yellow card and an early end to the game.
On 30 minutes Balotelli’s backheel flick set up Kaka, whose finish grazed the top of the crossbar with Courtois stranded.
Substitute Ignazio Abate did well to ancitipate Diego Costa, preventing him from tapping in from six yards. Milan had penalty appeals for a clumsy Raul Garcia challenge on Poli, kicking him in the back of the leg as he was shaping up for the volley, but the referee waved play on.
Before half-time Balotelli earned a free kick and booking for Mario Suarez, then curled just wide following a poor clearance. Abate also went into the book for a mistimed challenge on Koke.
Raul Garcia had a shot charged down after the restart and Diego Costa’s acrobatic volley was well over, while Taarabt’s effort was smothered and a Kaka scuffed finish skimmed the far post.
Michael Essien turned his header wide from a corner and a couple of long-range Balotelli free kicks hit the wall. Taarabt had an attempt charged down in the box and Abbiati eventually blocked a Raul Garcia low drive on the counter after initially spilling.
Balotelli was clutching his shoulder after a Diego Costa foul and eventually went off for Giampaolo Pazzini.
Atletico Madrid had a great opportunity ballooned over the bar by Raul Garcia, who had got in front of Adil Rami.
In the final minutes, Atletico Madrid found a breakthrough in a familiar scenario for the Rossoneri. A corner was not defended properly and Diego Costa was allowed a free header at the back post. Abate only flicked it on and Diego Costa got in front of Rami.
Milan tried to fight back, but Rami’s fierce free kick whistled wide and the French defender was later booked for bringing down Diego Costa and Gabi hit the resulting free kick against the wall.
In the other Champions League tie, Bayern Munich won 2-0 away to 10-man Arsenal thanks to a Toni Kroos curler and Thomas Muller header. There were two penalties in the first half, but Mesut Ozil’s was saved and David Alaba hit the upright, but goalkeeper Szczesny was sent off for bringing down Arjen Robben in that incident.
Milan 0-1 Atletico Madrid
Scorers: Diego Costa 83 (A)
Milan: Abbiati; De Sciglio (Abate 26), Rami, Bonera, Emanuelson; Essien, Poli (Constant 85), De Jong; Kaka, Balotelli (Pazzini 78), Taarabt
Atletico Madrid: Courtois; Juanfran, Miranda, Godin, Insua; Arda Turan (Cristian Rodriguez 74), Mario Suarez, Gabi, Koke; Raul Garcia (Adrian Lopez 80); Diego Costa
Ref: Proença (POR)
Think you know your Italian football? Share your knowledge, tips and comments to win cash prizes in OLBG's World Cup tipster competition  - £10,000 to be won!