Nel giugno 2011 il Milan lo riscatta dal Barça per 24 milioni. Il 6 agosto 2011 vince la Supercoppa italiana battendo l'Inter per 2-1 segnando anche la rete del momentaneo pareggio rossonero. Sigla la sua prima doppietta in Serie A con i meneghini il 29 ottobre, nella vittoriosa trasferta contro la Roma (2-3). Il 27 novembre, nella gara casalinga vinta contro il (4-0), raggiunge quota 100 reti nel massimo campionato italiano. Con i suoi gol trascina il Milan al secondo posto in classifica al termine del girone d'andata, a meno uno dalla Juventus campione d'inverno, e, inoltre, si rivela determinante anche per l'esplosione del centrocampista Antonio Nocerino, autore di 11 reti in campionato, con il quale raggiunge un'ottima intesa. Al Gran Galà del calcio del 2011, svoltosi il 23 gennaio 2012, viene insignito del premio come miglior calciatore assoluto della stagione 2010-2011 e inserito nella squadra dell'anno. Il 6 febbraio, in seguito ad uno schiaffo a Salvatore Aronica nella partita contro il , viene squalificato per tre giornate. Realizza la sua prima tripletta in maglia rossonera il 3 marzo 2012, nella vittoriosa trasferta contro il vinta 4-0. A fine stagione è per la seconda volta di fila il miglior marcatore stagionale dei rossoneri con 35 reti in 44 partite di cui 28 in campionato (record personale da quando milita in Italia), che gli valgono il titolo di capocannoniere della Serie A, secondo personale dopo quello del 2009 con l'Inter; diventa inoltre il primo giocatore a vincere la classifica marcatori del massimo campionato italiano con due squadre diverse, nonché della stessa città. Nonostante la stagione sia stato un successo dal punto di vista personale, per la prima volta da quando è in Italia non riesce a festeggiare la conquista del titolo nazionale.