Boil water in a large pot.
Add pasta and cook until tender.
Drain pasta and set aside.
Melt butter in a saucepan.
Whisk in flour until smooth.
Slowly add milk and cream.
Stir until sauce thickens.
Add cheddar and mozzarella cheese.
Stir until cheese melts fully.
Season with garlic, onion, paprika.
Add salt and pepper as desired.
Mix sauce with cooked pasta.
Serve hot or bake for crisp top.