Spanien hade 72,4% av innehavet i första halvan men misslyckades med att göra mål.
Till slut tog de ledningen efter 55 minuter när djurhållaren Gianluigi Buffon missade ett försök att lämna Vitolo på sidfoten.
Italien hotade sällan, men efter Sergio Ramos trippade Eder, De Rossi utjämnade för att förlänga sitt lands oslagbara körning i kval till 52 matcher.
Den sista gången Azzurri förlorade en VM eller europeiska kval var i september 2006 när de blev slagna 3-1 av Frankrike på väg att nå Euro 2008.
Italien och Spanien har nu fyra poäng från två matcher, med Albanien, som slog Liechtenstein 2-0, toppen av Grupp G på sex punkter.
Israel vann 2-1 i Makedonien i det andra spelet i gruppen.
Spanien var ute efter att hämnas sitt nederlag av Azzurri i den sista 16 Euro 2016 och snabbt tog kontroll över matchen.
De gick nära när Andres Iniesta spelade en en-två med David Silva bara för att se ett svagt slag vänsterfotat skott sparat innan Gerard Pique skickade en nära håll header rakt vid Buffon.
Spanien letade efter seger efter 38-årige Buffons misstag eftersom han helt missade bollen när han försökte rensa en genom boll till Vitolo.
Men ersätta Ciro Immobile förde några välbehövliga energi och hot mot hem attack och en utslag Ramos utmaning tillät De Rossi att göra mål.
Island chockade England när de slog ut dem av Euro 2016 och verkade vara på rätt kurs för en reality check när släpa Finland 2-1 i deras första hem 2018 VM kval sedan dess.
Men Alfred Finnbogason utjämnade i 90:e minuten innan Fulhams Ragnar Sigurdsson, som gjorde 2-1 seger över England, fick en vinnare i femte minuten av adderad tid.
Finland hade öppnat poängsättningen genom Teemu Pukki och trots att Kari Arnason utjämnades återtog Robin Lod snabbt den besökande sidans ledning.
Gylfi Sigurdsson missade ett straff för att förvärra Islands elände före det sena dramat.
Island är nu tvåa i grupp I, nivå på fyra punkter med ledare Kroatien, som slog Kosovo 6-0 i Albanien.
Ukraina drog 2-2 i Turkiet och de är tredje respektive fjärde i samma grupp.
Matchen slutar, Italien 1, Spanien 1.
Andra halvlek, Italien 1, Spanien 1.
Nacho (Spanien) vinner en frispark på vänsterflygeln.
Foul av Alessandro Florenzi (Italien).
Nacho (Spanien) vinner en frispark i defensiva halvan.
Foul av Andrea Belotti (Italien).
Foul av Álvaro Morata (Spanien).
Daniele De Rossi (Italien) vinner en frispark i den defensiva halvan.
Försök blockerat. Andrés Iniesta (Spanien) höger fotade skott utanför lådan är blockerad.
Leonardo Bonucci (Italien) visas det gula kortet för en dålig foul.
Álvaro Morata (Spanien) vinner en frispark på vänsterflygeln.
Foul av Leonardo Bonucci (Italien).
Offside, Italien. Alessandro Florenzi försöker en genom boll, men Ciro Immobile fångas offside.
Försök missade. Ciro Immobile (Italien) vänster fotade skott från en svår vinkel på vänster missar till höger. Hjälpt av Daniele De Rossi efter en viss situation.
Gerard Piqué (Spanien) visas det gula kortet för en dålig foul.
Foul av Gerard Piqué (Spanien).
Ciro Immobile (Italien) vinner en frispark i anfallshalvan.
Substitution, Spanien. Thiago Alcántara ersätter Vitolo.
Foul av Nacho (Spanien).
Leonardo Bonucci (Italien) vinner en frispark i defensiva halvan.
Mål!  Italien 1, Spanien 1. Daniele De Rossi (Italien) konverterar straffet med en högerfotad skott till nedre vänstra hörnet.
Straff som medgivits av Sergio Ramos (Spanien) efter ett brott i straffområdet.
Straff Italien. Éder drar ett brott i straffområdet.
Handboll av Sergio Busquets (Spanien).
Hörnet, Italien. Förföljd av Gerard Piqué.
Ersättning, Italien. Andrea Belotti ersätter Marco Parolo.
Sergio Ramos (Spanien) visas det gula kortet för en dålig foul.
Foul av Sergio Ramos (Spanien).
Alessandro Florenzi (Italien) vinner en frispark i anfallshalvan.
Hörnet, Spanien. Förföljd av Mattia De Sciglio.
Offside, Italien. Leonardo Bonucci försöker en genom boll, men Ciro Immobile fångas offside.
Försök blockerat. Ciro Immobile (Italien) höger fotade skott från vänster sida av lådan är blockerad. Hjälpt av Mattia De Sciglio.
Vitolo (Spanien) vinner en frispark i defensiva halvan.
Foul av Alessio Romagnoli (Italien).
Koke (Spanien) vinner en frispark i defensiva halvan.
Foul av Giacomo Bonaventura (Italien).
Försök missade. Alessio Romagnoli (Italien) huvudet från mitten av lådan är högt och brett till höger. Hjälpt av Alessandro Florenzi med ett kors efter en viss bit situation.
Foul av Sergio Ramos (Spanien).
Andrea Barzagli (Italien) vinner en frispark på högerkanten.
Försök missade. Vitolo (Spanien) höger fotade skott från mitten av lådan missar till vänster. Hjälpt av Koke.
Italien räddade en dragning i en 2018 VM kval mot Spanien med en sen Daniele de Rossi straff.