Dopo l'avvio di carriera con il Fondi nella stagione 1977-1978 si trasferisce al Latina dall'anno seguente.
Ingaggiato nell'ottobre del 1979 dall'Avellino, squadra con la quale esordisce in Serie A l'11 maggio 1980 in Avellino-Roma 0-1; negli anni successivi gioca con la Reggiana, il Cagliari, il Catania e l'Udinese.
Nel 1986 si trasferisce al Napoli, allenato da Ottavio Bianchi, per 4 miliardi di lire. Al primo anno con 8 reti segnate, tra cui il goal del 10 maggio 1987 in Napoli-Fiorentina 1-1, contribuisce alla vittoria del campionato. La stagione successiva con l'arrivo di Careca è spesso relegato in panchina, realizza solo 2 reti in campionato tra cui quello decisivo in Avellino-Napoli 0-1.
In Coppa Campioni viene espulso al San Paolo a pochi minuti dal termine dopo un fallo sul portiere madridista Buyo.
La stagione successiva compone il trio d'attacco del Napoli con Maradona e Careca. Realizza la sua prima e unica tripletta in Serie A in Napoli-Pescara 8-2. Realizza il primo gol in Juventus-Napoli 3-5. A fine campionato le sue reti saranno 13 (Record personale ). In Coppa UEFA realizza 3 reti fondamentali: il gol decisivo in Bordeaux-Napoli 0-1; il secondo gol in Napoli-Juventus che portò la partita ai supplementari in cui Renica al 119º minuto segnò il gol qualificazione; il goal che fissò il risultato di Napoli-Bayern 2-0 che mise una grossa ipoteca sul passaggio alla finale. In finale contro lo Stoccarda fu protagonista nell'azione con Maradona e Careca che portò quest'ultimo a segnare il gol del 2-1 finale.
La stagione successiva segna le sue prime reti in campionato in Napoli-Milan 3-0 realizzando una doppietta. Il 14 aprile 1990 in Napoli-Bari 3-0 segnano Maradona, Carnevale e Careca. Per Carnevale sarà l'ultima rete realizzata con la maglia azzurra. Il 29 aprile 1990 festeggia la vittoria del suo secondo tricolore con il Napoli.
Nell'estate 1990 passa alla Roma per 6,8 miliardi di lire. Dopo un inizio di campionato segnato da quattro gol in cinque partite, viene successivamente squalificato per doping, accusato, con il compagno di squadra Angelo Peruzzi, di avere assunto fentermina mediante pastiglie anti-obesità (Lipopill).
Tornato in campo dopo un anno, viene ceduto nel 1993 all'Udinese dove rimane solo pochi mesi per essere poi mandato in prestito al Pescara in Serie B. Tornato per un breve periodo all'Udinese, conclude la sua carriera ancora col Pescara nella stagione 1995-1996, con 10 gol in 28 presenze.
In carriera ha totalizzato complessivamente 255 presenze e 66 reti in Serie A e 151 presenze e 48 reti in Serie B.
Nazionale:
Ha fatto parte della Nazionale olimpica che si classificò quarta nel 1988 alle Olimpiadi di Seul, manifestazione in cui segnò 2 reti.
Notato da Azeglio Vicini, viene convocato in Nazionale maggiore dove esordisce il 22 aprile 1989 nell'amichevole Italia-Uruguay 1-1. Quattro giorni più tardi nell'amichevole Italia-Ungheria 4-0 realizza il suo primo gol in maglia azzurra.
Ha partecipato ai Mondiali di Italia 90 dove l'Italia arrivò terza, partendo da titolare nella coppia d'attacco insieme a Gianluca Vialli. Il commissario tecnico Azeglio Vicini lo sostituì poi con Salvatore Schillaci.
In totale ha disputato 10 partite con la Nazionale realizzando 2 reti.
È attualmente il responsabile osservatori dell'Udinese