The river rises in the eastern Satpura Range of southern Madhya Pradesh state, and flows westward, draining Madhya Pradesh's Nimar region, Maharashtra's Kandesh and east Vidarbha regions in the northwest corner of the Deccan Plateau and south Gujarat, before emptying into the Gulf of Cambay of the Arabian Sea, in the Surat District of Gujarat. The river, along with the northern parallel Narmada river, form the boundaries between North and South India. The Western Ghats or Sahyadri range starts south of the Tapti River near the border of Gujarat and Maharashtra. The Tapti (Tapi) River empties into the Gulf of Khambhat near the city of Surat in Gujarat.
The Tapi River in Thailand, was named after India's Tapti River in August 1915.
The basin lies mostly in the northern and eastern districts Maharashtra state, including Amravati, Akola, Buldhana, Washim, Jalgaon, Dhule, Nandurbar, and Nashik districts, but also includes the Betul and Burhanpur districts of Madhya Pradesh and the Surat district of Gujarat.
Major crossings of the river include the road bridge Sawalde in Dhule for National Highway 3 and the railway bridge at Bhusawal for the Bhusawal - Khandwa section of the Central Railway. The river is dammed by Hatnur Dam in Jalgaon, Maharashtra and Ukai Dam in Songadh, Gujarat.
Other important sites along the river include the Melghat Tiger Reserve in Amravati district, part of Project Tiger, on the southeast bank along the Madhya Pradesh and Maharashtra boundary. Historical landmarks include the Asirgarh fortress near Burhanpur, also known as the "key to the Deccan", and the ancient Temple of Changdeo Maharaj at Changdev in Jalgaon.