Melt 4 tablespoons butter in a large saucepan over medium heat. Add leeks, garlic, shallots, and half of the onions. Cook, stirring occasionally, until vegetables are very soft and translucent, about 10 minutes. Reduce the heat to medium-low, and cook, stirring occasionally, until vegetables are deep golden brown, about 25 minutes.
Add vermouth, stock, and 1 teaspoon salt. Bring to a boil. Reduce heat to medium-low. Simmer, stirring occasionally, 15 minutes. Let cool. Puree onion mixture in batches in a blender until smooth, about 3 minutes per batch. Set aside.
Meanwhile, melt remaining 2 tablespoons butter in a medium skillet over medium-low heat. Add remaining onion. Cook, stirring occasionally, until onion is very soft and golden brown, about 45 minutes. Cover, and set aside.
Return onion puree to saucepan. Stir in cream. Reheat over medium heat, stirring, until heated through but not boiling. Season with salt, if desired. Serve, topped with caramelized onions.