Melt butter in a large skillet over medium heat.
Add onions and garlic, sautéing until softened.
Place bratwurst in the skillet and season with salt, pepper, and paprika.
Pour beer over the brats and bring to a gentle simmer.
Cook for 20 minutes, turning occasionally.
Preheat a grill to medium-high heat.
Remove brats from the skillet and grill for 5 minutes, turning until golden brown.
Toast buns on the grill for 1-2 minutes.
Serve brats in buns with Dijon mustard and sauerkraut if desired.