The average train between Yardley and Penn Station takes 3h 4m and the fastest train takes 2h 22m. There is a train service every few hours from Yardley to Penn Station. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Yardley and Penn Station. The earliest departure is at 5:13 AM in the morning, and the last departure from Yardley is at 11:20 PM which arrives into Penn Station at 6:02 AM. All services require a transfer at Suburban Station and take an average of 3h 4m. The schedules shown below are for the next available departures.


2h 33m • 2 changes


2h 43m • 2 changes


2h 49m • 2 changes


2h 52m • 2 changes


3h 6m • 2 changes


2h 35m • 2 changes


2h 33m • 2 changes


2h 43m • 2 changes


2h 57m • 2 changes


2h 49m • 2 changes


2h 31m • 2 changes


2h 27m • 2 changes


2h 30m • 2 changes


2h 49m • 2 changes


2h 31m • 2 changes


2h 27m • 2 changes
Want to know about travelling from Yardley to Penn Station? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Yardley to Penn Station. However, there are services departing from Yardley station and arriving at Penn Station station via Suburban Station station. The journey, including transfers, takes approximately 3h 4m.
Yardley to Penn Station train services, operated by SEPTA, depart from Yardley station.
Yardley to Penn Station train services, operated by SEPTA, arrive at Baltimore Penn Station.
The distance between Yardley and Penn Station is 183.7 km. The road distance is 203 km.
You can take a train from Yardley to Penn Station via Suburban Station, 30th Street Station, and Baltimore Penn Station in around 2h 43m.