hero
How2Go
Batala to Shahjahanpur

Batala to Shahjahanpur

Shahjahanpur is approximately 650+ kms from Batala. The fastest way to reach Shahjahanpur from Batala is by Train, Flight Via Amritsar, Lucknow. It takes approximately 9 hours. The cheapest way to reach Shahjahanpur from Batala is by Train Via Jalandhar which would take approximately 13 hours.

Sort By
Mode of Transport

Via Rajpura

RECOMMENDED

Batala

Rajpura

Shahjahanpur

Approx Travel Time

12h 17m

On Demand

Via Jalandhar

CHEAPEST

Batala

Jalandhar

Shahjahanpur

Approx Travel Time

12h 26m

₹435

Onwards

Batala

Jalandhar

Shahjahanpur

Approx Travel Time

12h 27m

₹465

Onwards

Batala

Jalandhar

Shahjahanpur

Approx Travel Time

11h 36m

₹2,187

Onwards

Ads by MMT

Via Amritsar, Lucknow

FASTEST

Batala

Amritsar

Lucknow

Shahjahanpur

Approx Travel Time

8h 54m

₹5,460

Onwards

Via Jalandhar, Ghaziabad

Batala

Jalandhar

Ghaziabad

Shahjahanpur

Approx Travel Time

18h 14m

₹1,437

Onwards

Ads by MMT

Via Jalandhar, Kashipur

Batala

Jalandhar

Kashipur

Shahjahanpur

Approx Travel Time

19h 15m

On Demand

Via Ludhiana

Batala

Ludhiana

Shahjahanpur

Approx Travel Time

12h 39m

₹1,024

Onwards

Via Khanna

Batala

Khanna

Shahjahanpur

Approx Travel Time

13h 22m

On Demand

Via Sirhind

Batala

Sirhind

Shahjahanpur

Approx Travel Time

13h 26m

On Demand

Frequently Asked Questions

What is the distance between Batala and Shahjahanpur?

Shahjahanpur is approximately 650+ kms from Batala.

How long does it take to reach Shahjahanpur from Batala?

It takes approximately 9 hours to reach Shahjahanpur from Batala by Train, Flight Via Amritsar, Lucknow.

What is the cheapest way to reach Shahjahanpur from Batala?

The cheapest way to reach Shahjahanpur from Batala is by Train Via Jalandhar.

What is the fastest way to reach Shahjahanpur from Batala?

The fastest way to reach Shahjahanpur from Batala is by Train, Flight Via Amritsar, Lucknow.

twitterfacebook

© 2026 MakeMyTrip (India) Limited

Country India