Dunfermline is situated five miles north of the Forth Road Bridge. The A907 connects Dunfermline with Perth to the north, Edinburgh to the south and Kirkcaldy to the east. Dunfermline's bus terminus stands close to the town centre, and two railway stations serve the town. Edinburgh Airport is thirteen miles south of Dunfermline.
Dunfermline is the principal shopping centre in western Fife, and the Kingsgate Shopping Centre on High Street provides a mix of modern and traditional shops. The Fife Leisure Park is located next to the M90 with a large cinema, a health club, bowling alley and a number of restaurants.