Bring a large pot of lightly salted water to a boil and add brussels sprouts. Cook for 2 minutes and then immediately transfer in a bowl of cold water to stop the cooking process. Drain.
Heat the olive oil in a frying pan on medium heat. Cook onion and garlic until tender, 5-10 minutes. Add the brussels sprouts and cook until tender, approximately 8-10 minutes.
Whisk the balsamic vinegar with the butter, salt, pepper and garlic powder and add to skillet to warm up.