Two days is the honest answer. A third is worth taking if you have it, though not for more city: for the country wrapped around it.
Luxembourg City is small. You can cross the old quarter on foot in twenty minutes, and most visitors do exactly that, several times over, without ever quite grasping what they are looking at. The difficulty is not distance but height. The historic centre sits on a sandstone promontory with a gorge cut around two sides of it, and the Alzette runs roughly sixty metres below the cafe terraces of the upper town. Districts that look adjacent on a map, the Ville Haute on top, the Grund and Pfaffenthal in the valley, the Kirchberg plateau across the void, are separated by staircases, ramps, viaducts and lifts. Sequence your days badly and you will climb the same cliff four times and see half as much.
Sequence them well and the vertical geography stops being an obstacle and becomes the reason to come. The principle is simple: descend on foot, ascend by machine. The city has built free lifts and a free funicular precisely so that nobody has to earn the same two hundred steps twice.
How the city is stacked, and why that decides your order
Four levels matter. The Ville Haute is the upper town: the squares, the cathedral, the palace, the fortress remains, and the UNESCO listing that covers the old quarters and fortifications. Directly below, inside the river loop, sit Grund, Clausen and Pfaffenthal, three valley villages that were working industrial suburbs long before anybody called them picturesque. Across the Alzette to the north-east rises Kirchberg, the post-war plateau of European institutions, banks, the Philharmonie and the modern art museum. South across the Petrusse is the Gare quarter, denser and scruffier, where the station and a good deal of the mid-range hotel stock sit.
Getting between them costs nothing at all. Since 2020 the entire country has run buses, trams and second-class train travel free of charge to everyone, residents and visitors alike. There is no ticket to buy and nothing to validate; only first-class rail still carries a fare. The tram line now runs from the airport at Findel, across Kirchberg, over the valley on the red Pont Grande-Duchesse Charlotte and down past the central station, the airport extension having opened in early 2025, so arriving without a taxi is straightforward and the ride into town takes something like twenty to thirty minutes depending on where you are staying.
Three vertical links do the real work. The Pfaffenthal panoramic elevator drops in a glass box from the upper town to the valley floor, a little over seventy metres, with a glass-floored viewing deck at the top. It is free, it runs from before six in the morning until roughly one at night, and it is normally taken out of service for maintenance on the first Monday of the month. The Grund lift connects the Plateau du Saint-Esprit to the bottom of the Grund, also free, and spares you a steep staircase. The Pfaffenthal-Kirchberg funicular hauls you from the valley railway station up to the Kirchberg plateau in about a minute. Learn those three and the city flattens out.