"History" is too broad. Pick a era and the city pick changes completely. Here's the honest sort.
Roman
- Rome: By definition. Forum, Colosseum, Pantheon, Ostia Antica.
- Split: Sleep inside Diocletian's Palace.
- Pompeii (from Naples): The most-complete Roman city.
- Verona: Roman arena still in use.
- Mérida, Spain: Underrated Roman amphitheater, theatre, museum.
Medieval
- Dubrovnik: Walled city.
- Tallinn: Best-preserved Hanseatic League old town.
- Prague: Charles Bridge, castle, astronomical clock.
- Bruges: Medieval canals, belfry, basilica.
- Kraków: Largest medieval square in Europe.
Renaissance
- Florence: The cradle.
- Urbino, Italy: Underrated, walkable Renaissance court.
- Venice: Doge's Palace, Frari, Scuola di San Rocco.
Habsburg / Imperial
- Vienna: Hofburg, Schönbrunn, Belvedere.
- Budapest: Parliament, royal palace, ruin baths.
- Prague: Imperial residences inside the castle.
WWII / Holocaust
- Auschwitz from Kraków: Heavy but essential.
- Berlin: Holocaust Memorial, Topography of Terror, Jewish Museum.
- Amsterdam: Anne Frank House, Jewish Cultural Quarter.
- Normandy from Bayeux: Beaches, museums, cemeteries.
- Sarajevo: War history continues into the 1990s siege.
Soviet / Cold War
- Berlin: Wall remains, Checkpoint Charlie, DDR Museum.
- Dresden: Stasi Museum (Stasi Hohenschönhausen for the prison).
- Prague: Museum of Communism.
- Tallinn: KGB Museum, Soviet-era Maarjamäe Memorial.
- Budapest: House of Terror, Memento Park (Soviet statues).
Strategy
Pick an era and base in one city for that era. Stacking eras (Roman + medieval + WWII) means rushed museums and less depth. 4-5 nights per era-focused city beats hopping.