Preheat the oven to 350°.
Season the brisket all over with salt and pepper. Heat the oil in a large ovenproof braising pot over medium-high. Cook the brisket, turning occasionally, until browned all over, 8–10 minutes; transfer to a plate. Pour any fat out of the pot.
Melt the butter in the braising dish over medium heat. Add the onion, celery and carrots and cook until soft, 5-7 minutes. Stir in the flour and cook for 15 minutes, stirring constantly.
Add the red wine, stir to dissolve the flour, bring to a boil, reduce the heat to a simmer and cook for another 15 minutes. Add the beef stock and return to a boil.
Return the seared meat to the pot with the braising sauce. If the liquid doesn't come at least halfway up the sides of the meat, add more stock. Cover the pot tightly and braise for 1:30-2:30 hours, until the meat is very tender.
In a large stockpot, place the potatoes and a generous pinch of salt. Cover with cold water and bring to a simmer. Cook at a simmer until the potatoes are fork-tender, about 15 minutes. Drain the potatoes and return to the pot. Add the butter, milk, buttermilk, salt and pepper. Mash until smooth.
On a baking sheet, toss the asparagus with the oil, salt and pepper. Roast for 10-15 minutes, until crisp-tender. Remove from the oven and toss with the lemon juice.
When the braise is cooked, remove the meat from the pot and cover to keep warm. Skim any fat off the top of the braising liquid and return the liquid to a boil on the stove. Cook until reduced and thickened. Adjust the seasoning with salt and pepper.
Slice the meat into 1-inch pieces.
Divide the mashed potatoes, brisket and asparagus between plates. Drizzle with jus.