Place the butter and olive oil in a Dutch oven or skillet over medium heat. Add the onions and cook, stirring occasionally, for 25-30 minutes, or until golden brown.
Add the minced garlic and flour then cook, stirring constantly, for 1 minute.
Slowly add the beef stock and Worcestershire sauce while stirring constantly. Reduce the heat and simmer for 10-12 minutes or until sauce thickens. Taste and season with sea salt and freshly cracked pepper, to taste.
While the onions are cooking, cook the potatoes in salted boiling water until fork-tender. Warm the milk and butter in the microwave for 30 seconds.
Drain the potatoes then place them back into the pan. Add the milk/butter to the potatoes along with sea salt and freshly cracked pepper, to taste. Mash using a hand masher until creamy and smooth. Taste and re-season if needed. Place lid on the potatoes until ready to serve.
While the potatoes are cooking and the onion gravy is simmering, heat a grill pan over medium heat then coat with cooking spray. Add the bratwurst to the pan and cook, flipping occasionally, for 10-12 minutes. Make sure all sides of the bratwurst get grill marks and the sausages are cooked through.
Spoon some potatoes in a bowl then top with onion gravy and a bratwurst. Sprinkle the top with freshly chopped parsley. Serve immediately. Enjoy.