Preheat the oven to 400°F/200°C/Gas 6.
Meanwhile, boil a large pot of lightly salted water and cook the pasta according to the package instructions. Cook for 1-2 minutes less than directed as the pasta will continue to cook in the oven.
Meanwhile, heat the olive oil in a large oven-safe skillet over medium heat. Add in the onion and season to taste with salt and pepper. Sauté for 3-4 minutes, stirring occasionally, until the onion becomes soft and translucent.
Sprinkle flour over the onion and cook for 1-2 minutes, stirring constantly.
Combine the milk and cream and slowly pour them into the skillet, stirring constantly. Let the milk come to a gentle simmer and continue cooking and stirring for 3-4 minutes until the béchamel thickens.
Stir in the Italian seasoning, cheddar, and one-half of the fontina cheese.
Continue cooking and stirring until the cheeses melt.
Drain the cooked pasta and combine with the cheesy sauce.
Remove from heat and top with marinara, pepperoni slices, and reserved fontina.
Transfer the skillet to the oven and bake for 15-20 minutes until the cheese is all melted and bubbly.
Garnish with fresh basil to serve. Enjoy!