Preheat your oven to 375°F.
Toss shallots with olive oil to coat in a 9-inch pie plate.
Sprinkle with a pinch each of salt and pepper.
Roast, stirring occasionally, until deep brown and very tender, which takes about 30 to 35 minutes.
Remove from the oven.
You can roast the shallots ahead of time and chill them, covered, up to 2 days ahead.
Increase the oven temperature to 425°F.
Meanwhile, bring beef broth and port to a boil in a large saucepan over medium-high heat.
Simmer until it’s reduced by half (about 1¾ cups left), which takes 25 to 30 minutes.
Whisk in tomato paste.
Pat the beef tenderloin dry, sprinkle it with dried thyme, and season with the remaining salt and pepper.
Cook bacon in a large skillet over medium-high heat until it’s golden brown.
Transfer it to a paper-towel-lined plate to drain.
Add the beef tenderloin to the skillet and cook for about 7 minutes, turning to brown on all sides.
Transfer the roast to a rack in a roasting pan.
Roast until a meat thermometer inserted into the center registers 135°F for medium-rare, which usually takes about 35 minutes.
Transfer it to a platter and tent with foil.
Pour the reduced broth mixture into the roasting pan, stirring to scrape up the browned bits.
Return this mixture to a saucepan and bring it to a simmer.
Mix together flour and 1½ tablespoons of butter in a small bowl to form a smooth paste, then whisk it into the broth mixture.
Simmer until it’s thickened, approximately 10 minutes.
Whisk in the remaining 1½ tablespoons of butter.
Stir in the roasted shallots and bacon.
Cut the beef into ½-inch-thick slices.
Spoon the sauce over the top and garnish with watercress (if using).
Enjoy your Beef Tenderloin with Roasted Shallots!