Chunks of swordfish are wrapped in pancetta and threaded onto rosemary branches, along with baby potatoes and cipollini onions, in this tasty, mostly make-ahead take on the Italian meat skewers known as spiedini.
Strip thick sprigs from rosemary branches, leaving behind small, tender ones. Chop enough stripped leaves to yield 1 teaspoon; reserve remainder for another use. Soak branches (or skewers) in water 30 minutes; drain.
Meanwhile, halve, peel, and thinly slice 3 onions. Heat oil in a saucepan over medium. Add sliced onions and cook, stirring occasionally, until golden in places, about 10 minutes. Remove from heat; stir in raisins, wine, vinegar, sugar, chopped rosemary, bay leaf, 1 teaspoon salt, and 1/4 teaspoon pepper. Bring to a boil over medium-high and cook, stirring occasionally, until syrupy, about 15 minutes.
Place potatoes in a pot and cover with 2 inches of water; season with salt. Bring to a boil and cook 5 minutes. Add remaining 12 onions and continue to boil until potatoes are easily pierced with the tip of a knife, 2 to 3 minutes more; drain and let stand until cool enough to handle.
Preheat grill for direct-heat cooking (medium-high on a gas grill). Thread vegetables onto separate rosemary branches, piercing with stem end of each branch; brush with oil. Season potatoes, onions, and fish with salt and pepper. Wrap each piece of fish in a slice of pancetta, then thread onto remaining branches. Brush grates with oil. Grill potatoes and onions 5 minutes. Add fish and continue to grill, turning occasionally, until vegetables are charred in places and fish is just cooked through, 8 to 10 minutes. Serve, with agrodolce.
The agrodolce can be made up to three days ahead and refrigerated. Gently rewarm before serving.