Heat the oil and butter in a large saucepan or Dutch oven over low heat, add the onions, season with salt and pepper, and saute until very soft and golden, 20 to 30 minutes. Add the cloves, paprika, raisins, and stock, cover and simmer 1 hour.
Remove cover and simmer 30 more minutes, adjusting seasoning as needed. Drizzle a few tablespoons of the hot soup stock into the yolks while beating to temper them, then add the yolks to the soup. Stir and simmer the soup for 3 to 4 minutes, or until thickened slightly.
Stir in the Madeira. To serve, ladle soup into individual bowls and serve with bread.
c.1997, M.S. Milliken & S. Feniger, all rights reserved