In a large pan over medium-low heat sauté onions and fresh thyme in olive oil for 10-12 minutes until soft, stirring frequently. Add 1/4 cup chicken stock and balsamic vinegar. Cover and cook additional 15-20 minutes until all liquid is evaporated and onions are soft and have taken on some color. You may need to add a bit more stock and continue stirring to achieve desired consistency.
Meanwhile, chop cauliflower into small florets and place in a large pot. Add enough chicken or veggie stock to 1/2 cover the cauliflower (depending on the size of cauliflower and size of pot you use this should be around 1/4-1/2 cup of stock.) Add butter, salt, and pepper, turn heat to medium high and bring liquid to a boil. Cover and cook until cauliflower is super tender (about 5-7 minutes) Once cauliflower is tender remove lid and reduce liquid (if there is any left) to just around 1 tbsp.
Mash cauliflower directly in pot until using an immersion blender until nearly smooth. Season to taste with additional salt and pepper. Alternatively if you don’t have an immersion blender transfer cauliflower to food processor or blender and process until you reach the consistency of mashed potato.
Serve mashed cauliflower topped with balsamic onions.