Fill a large pot with lightly salted water and bring to a rolling boil. Add Brussels sprouts; cook until slightly tender, 1 to 2 minutes. Remove and run sprouts under cold water to stop the cooking process. Trim ends off each Brussels sprout and slice sprouts in half.
Heat olive oil in a large skillet over medium heat; arrange Brussels sprouts, cut sides down, in the hot oil. Season with red pepper flakes, salt, and black pepper. Cook Brussels sprouts, keeping them in the same place, until cut sides are browned, 7 to 9 minutes.
Mix red onion and garlic into Brussels sprouts; cook and stir mixture until Brussels sprouts are cooked through but still firm, 10 to 13 more minutes.
Place butter in a cold saucepan; place saucepan over medium heat. Cook butter until it begins to bubble and foam, about 5 minutes. Reduce heat to low; cook, constantly stirring, until butter begins to brown, 5 to 10 minutes. Remove from heat and pour browned butter over Brussels sprouts; toss to coat.