Le Tronto prend sa source dans la région du Lazio, au Monts de la Laga (exactement du Monte della Laghetta - 2 369 m) dans les Apennins, entre le Monte Gorzano (2 458 m) et le Monte di Mezzo (2 136 m). Il débute son parcours vers le nord sous le nom de Pinto, baignant la localité de Amatrice où il reçoit les eaux du torrent Neia (7 5 km environ).
Il entre dans les Marches en prenant le nom de Tronto puis change brusquement de direction vers l’est. Il baigne les centre de Arquata del Tronto et Acquasanta Terme, reçoit à gauche le torrent Tallacano, près du lac de Centrale et le torrent Fluvione au hameau de Mozzano (commune de Ascoli Piceno).
Le fleuve traverse la cité historique de Ascoli Piceno, courant dans un profond défilé et reçoit à sa droite son principal affluent, le torrent Castellano (long de 40 km) qui lui apporte un apport en eau. Puis, en dehors de la cité, il reçoit à gauche le torrent Chiaro. A partir de là, le cours du Tronto ralentit, sur le tracé qui longe l’autostrade Ascoli-San Benedetto del Tronto et forme le confins entre la Province d'Ascoli Piceno et la Province de Teramo.
Sur ce tracé, le Tronto reçoit à Monsampolo del Tronto le dernier et très faible torrent Fiobbo, puis rejoint son embouchure dans l’Adriatique entre Porto d'Ascoli et Martinsicuro.