Melt the butter in a saucepan and gently fry off the onions for 30-40 minutes.
Add the garlic and sugar and continue to cook slowly. Add the red wine and reduce slightly. Add the beef stock and bring to the boil, reduce the heat and simmer gently for 1 hour.
Add the cognac and tomato puree. Slice the bread approximately 2.5cm thick and toast. Place into the bowls. Pour over the soup, the bread will then float. Scatter over the cheese and place under a hot grill for approximately 2-3 minutes. Serve immediately.