Middelburg is reached by train from Rotterdam, with a change at Roosendaal — the total journey takes around 75 minutes. Trains run roughly every hour. There is no direct train from Amsterdam; the quickest route is via Rotterdam, which takes around two hours in total.
By car, Middelburg is about 2.5 hours from Amsterdam via the A4 and A58 motorways. The city centre has paid parking along the outer ring road; driving inside the historic centre is restricted.
From Belgium, the combination of train from Bruges to Terneuzen and ferry across the Westerschelde is a scenic approach, though it takes longer than the train via Rotterdam.