Spaniard Joaquim Rodriguez of the Katusha team kept the leader's red jersey and stretched his lead over compatriot Alberto Contador, competing after a two-year doping ban.
Cataldo, 27-year-old cyclist of the Omega team, was alone at the finishing line, ahead of second-placed Belgian Thomas de Gendt of the Omega team who had stuck with him in a breakaway through most of the race.
In the final stretch, Rodriguez and main rival Contador of Saxo Bank battled for third position in the stage.
Rodriguez, nicknamed "Purito", withstood a Contador attack in the final kilometre of the climb to the peak of Cuitu Negru in the ski resort of Valgrande-Pajares of northern Spain's Asturias region.
The 33-year-old Rodriguez came in third and consolidated his position as overall tour leader, 28 seconds ahead of Contador and 2min 4 sec ahead of Alejandro Valverde.
Results on Monday from the 16th stage of the Spanish Vuelta, a 183.5km ride from Gijon to the winter resort of Valgrande-Pajares in Cuitunigru:
1. Dario Cataldo, Italy, Omega Pharma-QuickStep, 5 hours, 18 minutes, 28 seconds.
2. Thomas de Gendt, Belgium, Vacansoleil-DCM, 7 seconds behind.
3. Joaquin Rodriguez, Spain, Katusha, 2:39.
4. Alberto Contador, Spain, SaxoBank, 2:41.
5. Alejandro Valverde, Spain, Movistar, 2:58.
6. Nairo Quintana, Colombia, Movistar, 3:24.
7. Igor Anton, Spain, Euskadi-Euskaltel, 4:07.
8. Andrew Talansky, United States, Garmin-Sharp, 4:15.
9. Laurens Ten Dam, Netherlands, Rabobank, 4:18.
10. Robert Gesink, Netherlands, Rabobank, 4:21.
Overall Standings (After 16 of 21 stages):
1. Joaquin Rodriguez, Spain, Katusha, 63 hours, 38 minutes, 24 seconds.
2. Alberto Contador, Spain, SaxoBank, 28 seconds behind.
3. Alejandro Valverde, Spain, Movistar, 2:04.
4. Christopher Froome, Britain, Team Sky, 4:52.
5. Daniel Moreno, Spain, Katusha, 6:58.
6. Robert Gesink, Netherlands, Rabobank, 7:28.
7. Andrew Talansky, United States, Garmin-Sharp, 8:28.
8. Laurens Ten Dam, Netherlands, Rabobank, 9:00.
9. Igor Anton, Spain, Euskadi-Euskaltel, 9:11.
10. Nicolas Roche, Ireland, Ag2r La Mondiale, 11:44.