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 and place saucepan over medium heat. Cook butter until it begins to bubble and foam, about 5 minutes. Reduce heat to low and cook while constantly stirring, until butter begins to brown, 5 to 10 minutes. Remove from heat and pour browned butter over Brussels sprouts; toss to coat.