Als Hannibal 1657 während eines erneuten Krieges mit Schweden nach Dänemark zurückkehren wollte, wurde er von Friedrich III. zunächst abgewiesen. Hannibal suchte daraufhin das Gespräch mit dem Schwedenkönig Karl X. Gustav, der gerade Kopenhagen belagerte. Von dänischer Seite wurde dies zunächst als Verrat angesehen – vor allem, da auch Hannibals Schwager Corfitz Ulfeldt zu den Schweden übergelaufen war und ganz offen mit ihnen kollaborierte. Doch 1660 dann wurde Hannibal doch noch als dänischer Friedensunterhändler zu den Schweden entsandt und wirkte mit am Zustandekommens des Friedens von Kopenhagen, der Dänemark-Norwegen das 1658 verlorene Trondheim und Bornholm zurückgab.