Trim ends off onions; halve and peel. Cut onions into thin slices lengthwise along the grain.
Heat olive oil in a very large skillet over medium-high heat. Add onions and kosher salt. Cook and stir until starting to turn translucent, 5 to 7 minutes. Reduce heat to medium and continue to cook, stirring occasionally, until very soft and sweet, about 1 hour.
Add sage leaves, pepper, cinnamon, and almonds to the onions. Cook and stir until fragrant, 3 to 5 minutes. Transfer mixture to a soup pot. Pour in red wine vinegar and broth. Bring to a simmer over high heat. Reduce heat to medium-low and simmer until flavors blend, about 30 minutes.
Preheat the oven to 400 degrees F (200 degrees C). Line a small baking sheet with aluminum foil.
Place Italian bread on the baking sheet. Drizzle some olive oil over the bread; sprinkle sliced sage and some Parmesan cheese on top.
Toast in the preheated oven until browned, about 15 minutes.
Ladle soup into serving bowls and top each with a piece of toast. Drizzle remaining olive oil over the toast and sprinkle remaining Parmesan cheese on top. Dunk toast into the soup and let soak for a few minutes before serving.