Combine wine, oil, onion, garlic, Tabasco and salt to taste. Place lamb in a glass or enameled-ware pan just large enough to hold it. Pour wine mixture over the top. Cover and let stand in the refrigerator 6 hours or overnight. Turn meat occasionally to make sure it marinates well on all sides.
Heat oven to 325°F.
Remove lamb and pat dry with paper toweling. Place on a rack in a shallow roasting pan. Insert a meat thermometer into heavy part of leg, being careful not to touch the bone. Roast meat about 25 minutes per pound or to the desired degree of doneness. Baste lamb occasionally with the wine marinade.
Lamb should ideally be pink in the center when it is eaten.
Makes 6 - 8 servings, depending on the size of the roast.