01 -
Boil pasta in a large pot of salted water until al dente, according to package instructions. Drain and set aside.
02 -
Heat butter and olive oil in a skillet over medium heat. Sauté onion until soft (2-3 minutes), then add garlic and cook for 30 seconds until fragrant.
03 -
Add diced ham to the skillet, sauté for 2-3 minutes until lightly browned.
04 -
Sprinkle flour over the ham and stir well to coat. Cook for 1-2 minutes to eliminate the raw flour taste.
05 -
Gradually whisk in milk and chicken broth. Simmer until the sauce thickens (3-5 minutes).
06 -
Add cheddar, mozzarella, and Parmesan cheeses to the skillet, stirring until fully melted and smooth. Add heavy cream for a richer sauce, if desired.
07 -
Season with black pepper, salt, and Italian seasoning to taste. Adjust as needed.
08 -
Add cooked pasta to the skillet and toss until evenly coated with the sauce.
09 -
For a baked variation, transfer to a baking dish, sprinkle with extra cheese, and bake at 200°C (400°F) for 10 minutes until golden and bubbly.
10 -
Garnish with fresh parsley and extra Parmesan cheese before serving. Enjoy with your desired side dish.