Zwiebeln schälen und würfeln. Nelken, Piment und Pfeffer im Mörser fein mahlen und mit Zimt vermischen. Zucker in einer großen beschichteten Pfanne oder einem weiten Topf goldbraun karamellisieren. Dabei aufpassen, dass der Zucker nicht zu dunkel wird oder gar anbrennt, sonst schmecken die fertigen Zwiebeln (leicht) bitter. Olivenöl und Zwiebeln unter den karamellisierten Zucker mischen und die Gewürze zusammen mit den Lorbeerblättern ebenfalls unterrühren. Die Zwiebeln mit Portwein und Balsamico ablöschen und bei mittlerer Hitze im geschlossenen Topf 45 Minuten einkochen. Dabei hin und wieder umrühren, damit die Mischung nicht anbrennt. Deckel vom Topf nehmen und die Zwiebeln offen weitere 20 Minuten kochen. Alles mit Salz und evtl. noch etwas Pfeffer abschmecken und die Zwiebeln in heiß ausgespülte Gläser füllen.