Heat oil in a medium stock pot over medium heat. Add the onions and a hearty pinch of salt and a bit of pepper. Cook, stirring frequently, until browned and caramelized. This will take about 25 minutes.
Add the garlic and thyme and sauté for 3-4 minutes. Add the balsamic to deglaze the pan and add the corn starch. Cook for another 2-3 minutes, until slightly thickened.
Pour in your stock and water. Bring to a boil, then add the pasta and cook for 8-10 minutes or until al dente.
Turn off the heat and stir in the shredded parmesan and gruyere cheeses. Mix well to get things all cheesy. Serve warm and enjoy.