Place the asparagus in an ovenproof dish, drizzle with 2 teaspoons of the oil and use your fingers to rub it in so that all the spears are well coated. Roast the asparagus for 15-20 minutes, depending on the thickness of the spears, until they have softened and browned slightly.
Meanwhile, peel and quarter the garlic and shallots. Heat the rest of the oil in a wok or heavy-based pan, add the garlic and shallots and stir-fry over a high heat for 5-7 minutes until they are golden brown.
Add 4 tablespoons of water, reduce the heat, cover and simmer for 10-15 minutes until softened. Then increase the heat and boil hard until most of the water has evaporated.
Add the vinegar and bring to the boil, then pour the dressing over the hot asparagus. Season with salt and pepper to taste, and sprinkle with the herbs. Serve immediately, or set aside for a few hours to allow the flavours to mature, then serve at room temperature.
For a smoky flavour, cook the asparagus on the barbecue. Brush the spears with 2 teaspoons of the oil and place them on the rack above hot coals. Using tongs, turn them at least once and cook until they have softened and browned slightly.