Caramelize the onions. Heat the olive oil and unsalted butter in a large, heavy-bottomed pot over medium-high heat. When the butter begins to foam, add the sliced yellow onions, kosher salt, and black pepper.
Cook the onions for 30–35 minutes, stirring only occasionally, until they become deeply golden brown and develop concentrated sweetness. Allowing the onions to remain undisturbed for a minute or two between stirs encourages greater contact with the hot surface and promotes even browning.
Add the aromatics and savory seasonings. Stir the minced garlic, red pepper flakes, Worcestershire sauce, and low-sodium soy sauce into the caramelized onions.
Cook for approximately 30 seconds while stirring continuously, ensuring the garlic becomes fragrant without scorching.
Prepare the creamy broth base. Pour the water or beef broth into the pot along with half of the evaporated milk, stirring until combined.
In a small bowl, whisk the cornstarch with the remaining evaporated milk until completely smooth. Pour this mixture into the pot, then add the beef bouillon granules. Stir thoroughly until the bouillon has fully dissolved.
Season the broth. Add the fresh parsley, thyme, dried oregano, paprika, and black pepper. Stir to distribute the seasonings evenly throughout the liquid.
Increase the heat and bring the mixture to a boil.
Cook the pasta directly in the broth. Add the uncooked short pasta to the boiling mixture and stir immediately to minimize sticking.
Cook uncovered for 20–25 minutes, stirring thoroughly every 2–3 minutes. Continue until the pasta is cooked and the broth has developed into a creamy, cohesive sauce. Frequent stirring helps release starch from the pasta while preventing the pieces from clumping together.
Incorporate the cheeses. Remove the pot from the heat. Add the shredded Gruyère and Parmesan in two additions, stirring gently after each addition until the cheese is completely melted and evenly incorporated.
Use the residual heat of the pasta and sauce to melt the cheeses smoothly.
Serve and garnish. Portion the French onion pasta into individual bowls or plates. If desired, finish each serving with chopped fresh parsley.
Serve immediately while the pasta is hot and the cheese sauce remains creamy.