Heat the olive oil in a large oven-safe skillet over medium heat. Add the butter and sliced onions and cook for 15 minutes, stirring occasionally, until they are soft and golden brown.
Add the chicken to the skillet with the onions. Cook another 5-6 minutes, stirring occasionally, until the chicken is mostly cooked through.
Add the garlic and cook for 30 seconds.
Stir in the uncooked orzo, beef broth, Worcestershire sauce, thyme, salt, and black pepper.
Bring the mixture to a gentle boil, then reduce the heat to medium-low. Cover and simmer for 10-12 minutes, stirring occasionally, until the orzo is tender and most of the liquid has been absorbed.
Stir in the half-and-half. Cook for another 1-2 minutes until creamy.
Sprinkle the Swiss cheese evenly over the top. Cover the skillet for 2-3 minutes, or until the cheese is melted.
If you're using the crispy fried onions - Sprinkle the Swiss cheese evenly over the top of the orzo, then sprinkle with the crispy fried onions. Place the skillet under the broiler for 1–2 minutes, or until the cheese is melted and the onions are golden and crispy. Watch closely to prevent the onions from burning.