Heat the oil in a large skillet over medium-high heat.
Cook the garlic, stirring frequently, until golden, about 5 minutes. Transfer with a slotted spoon to a paper-towel-lined plate.
Reduce heat to medium and cook onions, stirring occasionally, until soft and slightly browned, about 12 to 15 minutes.
Add garlic and remaining ingredients, except chicken, to the same skillet, stirring occasionally, until sauce is slightly thickened, about 15 minutes.
Meanwhile, preheat the oven to 450°F with a rack in the middle.
Place the chicken pieces in a large bowl and add half of the sauce. Toss with a couple of large spoons to fully coat the chicken. Place the pieces in a baking dish, or baking pan, skin-side up. Place in the oven and roast for 20 minutes.
Remove from oven and brush with remaining sauce, then continue roasting until chicken is cooked through and well browned in spots, usually 20 minutes more, or until the internal temperature of the largest piece reaches 165°F. (You may need to remove the smaller pieces first, and then roast the large pieces for a little longer). Serve at once.