How to Make It
Preheat the oven to 350°. Combine all of the ingredients in a small shallow baking dish. Cover with foil and bake for 1 hour. Uncover and bake for about 30 minutes longer, or until the shallots are tender and the liquid has almost completely evaporated. Let cool to room temperature. Discard the thyme sprig. Raise the oven temperature to 400°.
Heat 2 tablespoons of the vegetable oil in a large saucepan. Add the mushrooms, onion, carrot, celery, garlic, sage, rosemary and thyme and cook over moderately low heat, stirring occasionally, until the vegetables start to brown, about 12 minutes. Raise the heat to high, add the wine and port and boil until reduced to 1/4 cup, about 10 minutes.
Add the beef stock to the saucepan and bring to a boil. Reduce the heat to low and simmer until reduced to 2 cups, about 30 minutes. Strain the sauce into a saucepan, pressing on the solids to extract as much liquid as possible.
Season the tenderloins with salt and pepper. Heat the remaining 2 tablespoons of oil in a large ovenproof skillet. Set the roasts in the skillet, smooth side down, and brown them on all sides, about 12 minutes. Turn the roasts smooth side up and spread the shallot confit on top. Transfer the skillet to the oven and roast the tenderloins for about 30 minutes, or until an instant-read thermometer registers 125° for rare. Transfer the roasts to a carving board, cover loosely with foil and let rest for 10 minutes.
Set the skillet over high heat and cook until the pan juices sizzle. Whisk in the reserved port sauce and simmer for 3 minutes. Remove the skillet from the heat and whisk in the butter, 1 tablespoon at a time, until blended. Season the sauce with salt and pepper and pour into a gravy boat. Carve the roasts and serve with the port sauce.