Bareilly Transport has been connected to the rest of India by rail since the 19th century, and a 1909 map shows that Bareilly was a railway junction during the early 20th century. Six rail lines intersect in the city. After the British Indian Government purchased the Indian Branch Railway on 31 March 1872, and renamed the Lucknow–Kanpur main line as the Oudh and Rohilkhand Railway, railway services started to expand towards the west of Lucknow. The construction of a railway line from Lucknow to Sandila and then further onwards to Hardoi was completed in 1872. This line was further extended to Bareilly on 1 November 1873. Prior to that, another railway line connecting Moradabad to Chandausi had already been built in 1872; it too was extended to Bareilly, the construction completed on 22 December 1873. A new railway line connecting Bareilly and Moradabad via Rampur, called the Bareilly–Moradabad Chord, was approved on 4 December 1891, and was completed by 8 June 1894. On 8 December 1894, the main line was officially diverted to this chord, while the older line was renamed the Chandausi loop.In 1890 the Bengal and North Western Railway leased the Tirhoot State Railway to increase the latter’s revenue, and the Lucknow-Sitapur-Seramow Provincial State Railway merged with the Bareilly-Pilibheet Provincial State Railway to form the Lucknow-Bareilly Railway on 1 January 1891. The Lucknow-Bareilly Railway was owned by the Government of India, and operated by the Rohilkund and Kumaon Railway.
City transport benefits in Bareilly were begun at first on the Kutubkhana-Railway Junction course by the Uttar Pradesh State Road Transport Corporation. In the 1960s, a sum of 4 transports used to utilize on the metropolitan courses, and in 1964, 9 new transports were presented, expanding the quantity of transports to 10. By 1963–64 the transport administrations had been extended from Koharapeer to Bhojipura and Fatehganj. By the last part of the 1970s, six private transports were working in the city heavily influenced by the UPSRTC, with a normal of 5000 day by day commuters. However, slow expansion in the rush hour gridlock on the city streets and the appearance of more modest vehicles brought about the streets transport administrations going into misfortunes, and along these lines the transport administrations were ended in the year 1990. At the hour of their stopping, City transports used to work from Kutubkhana to Railway Junction, Sadar Cantt, Sainthal, Nawabganj, Faridpur and Fatehganj.
Bareilly city is served by the Bareilly Airport (IATA: BEK, ICAO: VIBY) – a civil enclave at the Indian Air Force’s ‘Trishul Air Base’ in Izzatnagar, 6 kilometres (3.7 mi) north of the city centre. The Airports Authority of India approved construction of a passenger terminal at the Bareilly civil enclave in 2016. 10 hectares (25 acres) of land was bought from local farmers by the district administration for the project. The AAI began the tender process to award construction contracts for the airport in September 2017 and expected the civil enclave to be ready by March 2018, pending Uttar Pradesh government approval. However, the IAF requested changes in the layout of the taxiway connecting the terminal to the runway. After the Ministry of Defence approved the taxiway, passenger service was hoped to begin by February 2019. Bareilly Airport was inaugurated by state civil aviation minister Nand Gopal Nandi and Union minister Santosh Gangwar on 10 March 2019 at the civil enclave of Trishul Air Base. The terminal building can handle 75 passengers during the peak hour. Flight services from Bareilly to Delhi commenced on 8 March 2021.