Preheat your oven to 375°F (190°C). Lightly grease a medium baking dish with nonstick spray or a thin coat of butter.
In a small saucepan, melt the butter over medium heat. Add the chopped onion and cook until translucent and slightly golden, about 4–5 minutes. Stir in the garlic and cook for another 30 seconds.
Add the minced chipotle in adobo, paprika, salt, and pepper to the pan. Pour in the milk and cream, whisking to combine. Bring the mixture to a gentle simmer and let it thicken for 2–3 minutes, then remove from heat.
Slice the sweet potatoes into uniform rounds about 1/4 inch thick. Layer half of the potato slices in the prepared dish, overlapping slightly.
Pour half of the creamy chipotle mixture over the first layer, then sprinkle half of the cheddar cheese on top.
Add the remaining potato slices in a snug layer, then pour over the rest of the sauce. Finish with the remaining cheddar cheese.
Cover the dish with foil and bake for 25 minutes. Remove foil and bake for another 15–20 minutes, until the potatoes are tender and the top is bubbling and lightly browned.
If you prefer a crisper top, run the dish under the broiler for 1–2 minutes, watching closely to prevent burning.
Let the dish rest for 5–10 minutes before slicing and serving. Garnish with chopped cilantro or chives if desired.