Preheat a gas grill or charcoal grill to medium heat.
Place a cast iron skillet on the grill grates and add the oil and butter. Heat until the butter is melted, swirling the skillet to coat. Add the onions and cook, stirring occasionally, 7 to 10 minutes or until just softened. Pour in the beer and heat until simmering. Add the bratwurst to the skillet and nestle the brats in the onions.
Close the lid of the grill and cook, turning the brats often, for 20 minutes or until the onions are caramelized, the bratwurst is lightly brown and an instant read thermometer inserted into center of the brats registers 160°F.
Using tongs, transfer bratwurst to the the grill grates and grill, turning often, 3 to 5 minutes or until they are browned on all sides. Continue simmering the onions in the skillet, stirring often, 5 to 7 minutes or until the liquid has cooked off and the onions are caramelized.
Meanwhile, grill the buns, cut-side down, 1 minute or until golden.
Using tongs, transfer the brats to a serving plate and let rest a few minutes until ready to serve. Serve the brats with the onions and buns alongside.