Cut the top off of the head of garlic and wrap in foil. Roast the garlic in a 400 degree oven for 35 minutes.
Wash the potatoes thoroughly and add to a large pot, then cover with chicken stock (add water if the stock doesn't cover the potatoes. Cook on high heat and boil for about 15 minutes, or until potatoes are easily pierced with a fork.
In a large skillet, heat the olive oil, onion, garlic and beef over medium high heat. Break up the meat as finely as possible. Once sizzling, gradually add the veggies, careful not to stir them too much, otherwise the moisture will escape too quickly and the food with steam instead of sauteing. Once meat is fully cooked, stir in flour, then add Worcestershire, ketchup and wine. Cook for another minute, until liquids are thick and incorporated.
Mash the potatoes with a masher or beater, along with the roasted garlic, butter, sour cream, milk and seasonings.
Spread the beef mixture into a greased casserole, and layer the mashed potatoes on top. Bake at 450 degrees Fahrenheit until the potatoes are golden brown on top, usually about 20 minutes. Let cool ten minutes before serving. Goes nicely with a green salad or green beans and the wine you used to cook with.