ติวานนท์-รังสิต ใน อ.เมือง จ.ปทุมธานี 3309 ใน อ.เมือง จ.ปทุมธานี ทางพิเศษอุดรรัถยา ใน อ.เมือง จ.ปทุมธานี ติวานนท์ ใน อ.เมือง จ.ปทุมธานี ปทุมธานี-บางปะหัน ใน อ.เมือง จ.ปทุมธานี ปทุมสามโคก ใน อ.เมือง จ.ปทุมธานี ปทุมลาดหลุมแก้ว ใน อ.เมือง จ.ปทุมธานี กาญจนาภิเษก ใน อ.ลาดหลุมแก้ว จ.ปทุมธานี บางบัวทอง-สุพรรณบุรี ใน อ.ลาดหลุมแก้ว จ.ปทุมธานี 3296 ใน อ.บางเลน จ.นครปฐม 3351 ใน อ.บางเลน จ.นครปฐม 3036 ใน อ.ดอนตูม จ.นครปฐม 3232 ใน อ.กำแพงแสน จ.นครปฐม มาลัยแมน ใน อ.กำแพงแสน จ.นครปฐม 3394 ใน อ.กำแพงแสน จ.นครปฐม 3040 ใน อ.ท่ามะกา จ.กาญจนบุรี 3356 ใน อ.ท่ามะกา จ.กาญจนบุรี
ทางหลวงแผ่นดินหมายเลข 346 (สายต่างระดับรังสิต - พนมทวน) เป็นถนนสายหนึ่งในจังหวัดปทุมธานี, จังหวัดนนทบุรี, จังหวัดนครปฐม และจังหวัดกาญจนบุรี ต้นทางอยู่ที่ทางแยกต่างระดับรังสิต อำเภอธัญบุรี จังหวัดปทุมธานี และปลายทางอยู่ที่แยกพนมทวน อำเภอพนมทวน จังหวัดกาญจนบุรี
ถนนสายนี้เริ่มจากทางหลวงแผ่นดินหมายเลข 1 (พหลโยธิน) ที่ทางแยกต่างระดับรังสิต มาทางทิศตะวันตก เข้าสู่เขตอำเภอเมืองปทุมธานี และตัดกับทางหลวงแผ่นดินหมายเลข 345 (ติวานนท์-รังสิต) ที่แยกบางพูน แล้วผ่านทางหลวงแผ่นดินหมายเลข 3309 ผ่านทางพิเศษอุดรรัถยา แล้วตัดกับทางหลวงแผ่นดินหมายเลข 306 (ติวานนท์) ที่แยกบ้านกลาง แล้วโค้งไปทางทิศตะวันตกเฉียงเหนือตัดกับทางหลวงแผ่นดินหมายเลข 347 (ปทุมธานี-บางปะหัน) ที่แยกเทคโนปทุมธานี ข้ามสะพานปทุมธานี ตัดผ่านตัวจังหวัดปทุมธานี ตัดกับทางหลวงแผ่นดินหมายเลข 3111 (ปทุมสามโคก) ที่แยกสันติสุข แล้วโค้งไปทางใต้ ตัดกับถนนปทุมลาดหลุมแก้วที่แยก อบจ.ปทุมธานี ออกไปทางถนนกาญจนาภิเษกและตัดกันที่ทางแยกต่างระดับลาดหลุมแก้ว เข้าสู่อำเภอลาดหลุมแก้ว ตัดกับทางหลวงแผ่นดินหมายเลข 340 (บางบัวทอง-สุพรรณบุรี) ทีแยกนพวงศ์ จากนั้นข้ามคลองลากค้อน เข้าเขตอำเภอไทรน้อย จังหวัดนนทบุรี ตัดกับทางหลวงชนบท นบ.3004 และทางหลวงท้องถิ่นสายบ้านไทรน้อย-บ้านคลองนาหมอนที่แยกไทรน้อย เข้าสู่อำเภอบางเลน อำเภอกำแพงแสน จังหวัดนครปฐม เข้าสู่อำเภอพนมทวน จังหวัดกาญจนบุรี สิ้นสุดเส้นทาง