Wash the pardina lentils well, put them to soak for an hour and cook them with a bay leaf until tender. Set aside.
Peel the onions, cut in half and slice lengthwise finely.
Heat the butter with the olive oil, add the onion and a pinch of salt and cook slowly for 30-35 minutes until tender and golden. Add the wine, raise the heat to evaporate the alcohol and then pour in the broth and add the rosemary. Leave to cook for 10 minutes, throw in the lentils and leave for 5 more minutes.
Meanwhile, toast the bread slices, rub with the garlic and pile the grated gruyere on top. Put under the grill for a few minutes so that the cheese melts.
Serve the soup with the toast.