
Milan opened the scoring through Olivier Giroud’s close-range header from Rafael Leao’s cross in the 34th minute before the Czechs equalised when David Doudera’s long-range volley went in off the post past keeper Mike Maignan.
Tijjani Reijnders restored the lead for the hosts with a fine low shot from Alessandro Florenzi’s pass, and Ruben Loftus-Cheek headed home to make it 3-1 seconds before halftime, Florenzi assisting again from a corner.
Slavia, down to 10 men in the first half after El Hadji Malick Diouf’s red card, pulled one back in the 65th minute through a fierce strike from Ivan Schranz, but Pulisic sealed victory for Milan five minutes from time.