Milan lead at the break thanks to Kessie's penalty. Atalanta were on top for the majority of the first half but Milan made sure their dominance was largely benign. Hernandez won a penalty on a rare foray forward and Kessie dispatched it with ease. Milan will be pleased with their performance so far.
45' HALF-TIME: ATALANTA 0-1 AC MILAN
45' Since the beginning of the last decade, only two Milan midfielders have been involved in at least 15 goals in a Serie A season: Calhanoglu last season and Kessie this one. The Ivorian has contributed 12 goals and four assists in this campaign now.
41' That's the first time that Hernandez has really been able to get in behind Atalanta and it's borne fruit for Milan. Kessie will take the penalty for Milan.
40' PENALTY FOR MILAN! Hernandez plays a one-two to burst into Atalanta's box and gets taken out by Maehle. The referee points immediately to the spot and Hernandez takes some time to get to his feet. Gasperini is predictably unhappy.
38' Atalanta are continuing to knock on the door but Milan aren't opening up. The visitors have done a decent job at holding Atalanta at arm's length.
36' Romero gets a lucky foul in his half as Leao looks to break through on goal. It's a fortunate decision for Atalanta. Otherwise Leao would have been one-on-one with Gollini.
34' The referee has a word with Gasperini in the technical area as the Atalanta boss shares too much of his opinion of a foul on Malinovskiy.
32' Atalanta continue to dominate the game although they're not really creating anything. Malinovskiy collides with Hernandez and Milan get the foul, although Malinovskiy didn't do too much wrong.
31' Juventus now lead in Bologna 2-0. Milan remain OK as things stand but a Napoli goal would quickly change that.
29' Hernandez hands possession to Atalanta and the hosts burst forward. Kessie uses his skill and strength to hold off Maehle and buy Milan a free-kick to end the attack.
27' Zapata pulls wide and sweeps a cross into the penalty area. Donnarumma claims it from the air with ease.
25' de Roon drives at Bennacer and earns a corner off Calabria down Atalanta's left. Gosuns misses the ball into the box and Milan sweep up.
23' Diaz shows some great skill to buy a free-kick from Gosens deep in Atalanta's half. It's taken short to Hernandez who crosses in. Kessie claims a push in the box but the decision goes Atalanta's way.
21' Atalanta aren't giving Milan much of an opportunity to get out of their half at the moment. The visitors are going to have to stay disciplined and patient.
19' Atalanta win a free-kick down their left which Malinovskiy takes. Djimsiti gets in front of Kjaer but can't get his header on target.
17' Romero skips into the box but is intercepted by Bennacer who lures the centre-back into fouling him.
16' Freuler blocks Calhanoglu's effort from outside the box and Atalanta embark on an attack of their own. de Roon finds his path to goal blocked.
14' Milan are keeping a good defensive shape at the moment although Atalanta are probing as best they can as Malinovskiy has his run cut out.
12' Malinovskiy receives a pass from Maehle, cuts inside onto his left foot and fires high and wide. There's a reason Atalanta have scored 27 goals in their last nine home league games.
10' Atalanta have edged possession so far. They've had 58 per cent of the ball. The hosts haven't worried Milan too much so far though.
8' As usual, Atalanta are on the front foot but Milan are staying sturdy. Diaz holds off the challenge of Romero and sets Milan on their way but Gollini beats Leao to the eventual cross.
6' Juventus have taken an early lead against Bologna. That means that Milan are currently fourth, ahead of Napoli due to their superior head-to-head record.
4' Milan get the first chance of the game as Leao nods a pass down for Saelemaekers who blazes over from outside the box.
3' Atalanta keep the ball at the back for a while, morphing between a back five and back four with ease. Kjaer wins a free-kick as Atalanta's nominal centre-back Romero challenges the Dane for a header deep in Milan's half.
1' Milan get this game underway! They're in their white away strip. Atalanta are wearing their blue-and-black home colours.
The two sides are out on the pitch in Bergamo. The players stand in silence to pay respect to the victims of a terrible cable car accident near Lake Maggiore earlier this weekend.
Atalanta thrashed Milan 5-0 in their last home game against them in Serie A while Milan have beaten Atalanta in just one of their last 11 league meetings. However, Milan have been great away from home this season and have kept a clean sheet in their last four league games. Their last longer such run was by their last truly great side in March 2006. Will Milan get the result they need?
There's just the one change to Atalanta from their Coppa Italia final defeat to Juventus midweek. Maehle comes in for the injured Hans Hateboer. Milan also make a sole enforced change from their 0-0 draw with Cagliari as Leao gets the nod up front with Ante Rebic out injured.
SUBS: Soualiho Meite, Rade Krunic, Diogo Dalot, Jens Hauge, Ciprian Tatarusanu, Alessio Romagnoli, Sandro Tonali, Samu Castillejo, Antonio Donnarumma, Daniel Maldini, Pierre Kalulu Kyatengwa, Mario Mandzukic.
AC MILAN (4-3-3): Gianluigi Donnarumma; Davide Calabria, Simon Kjaer, Fikayo Tomori, Theo Hernandez; Ismael Bennacer, Franck Kessie, Alexis Saelemaekers; Brahim Diaz, Rafael Leao, Hakan Calhanoglu.
SUBS: Sam Lammers, Aleksey Miranchuk, Bosko Sutalo, Matteo Ruggeri, Mattia Caldara, Luis Muriel, Francesco Rossi, Josip Ilicic, Jose Luis Palomino, Marco Sportiello, Mario Pasalic.
ATALANTA (3-4-3): Pierluigi Gollini; Rafael Toloi, Cristian Romero, Berat Djimsiti; Joakim Maehle, Marten de Roon, Remo Freuler, Robin Gosens; Ruslan Malinovskiy, Duvan Zapata, Matteo Pessina.
Third-placed Milan, meanwhile, still have work to do as their Champions League place still hangs in the balance. While a win would see Stefano Pioli's side pip Atalanta to second, a defeat could see them become just the second team in Serie A history to finish outside the top three after being winter champions, or even crash out of the top four entirely if Juventus have their way. It's on then!
Second-placed Atalanta have already secured their place in the Champions League next season, equalling the 78 points they obtained last campaign. While that means the pressure is off Gian Piero Gasperini's men, they'll still be motivated to better their record from last season and finish as best of the rest behind champions Inter.
Hello! Welcome to our live text commentary of this Serie A final day meeting between Atalanta and AC Milan at Gewiss Stadium, Bergamo.