Step 1Heat the grill or broiler.
Step 2Cut the flat sides off the peppers in slabs. Arrange them in a single layer on the grill or 4 inches beneath the broiler, skin side to the heat. Roast until blackened, about 10 minutes. Wrap the peppers in foil. When they're cool enough to handle, about 15 minutes, remove the skin and discard. Coarsely chop the peppers and set them aside.
Step 3Heat the oil in a heavy saucepan over medium heat. Add the shallot, garlic, jalapeno and salt and pepper to taste. Cook, stirring often, until they soften slightly, about 3 minutes. Do not brown.
Step 4Add the chopped tomato; turn the heat to high. Stir until most of the moisture evaporates, about 2 minutes. Add the peppers and the honey; mix well. Stir in the vinegar and cook until the liquid is reduced by two-thirds, 1 to 2 minutes.
Step 5Add the stock. Gently bring to a boil, reduce the heat to low and simmer for 5 minutes. Remove from the heat, let cool slightly, place in a blender and puree until smooth. Strain the sauce through a fine mesh sieve. (This can be made 2 days ahead and refrigerated. To serve, gently reheat in a medium saucepan.) Return to the saucepan. Whisk in the butter, 1 piece at a time, until melted. Taste; adjust seasoning. Serve hot.