In a medium bowl, whisk together the flour, cornmeal, baking powder, sugar, salt, and garlic powder.
In another bowl, whisk the buttermilk and lightly beaten eggs until well combined.
Mix the dry ingredients into the wet ingredients until fully incorporated, and then add the grated onions and butter.
Heat about ½ inch of oil in a large cast-iron skillet on medium-high heat (375℉/190℃) until hot but not smoking.
Scoop the batter with a spoon and gently drop it into the hot oil. Fry in batches, turning once, until golden brown (about 5 minutes per batch). Be careful not to overcrowd the pan, as it will absorb excess oil, resulting in soggy hushpuppies.
Remove the hush puppies with a slotted spoon, letting the excess oil drain back into the skillet. Place them on paper towels to absorb more oil.