Prepare the roast: Season the beef chuck roast generously with salt and black pepper.
Sear the meat: Heat olive oil in a large skillet over medium-high heat. Sear the roast on all sides until browned (about 3–4 minutes per side). Transfer the roast to the slow cooker.
Sauté aromatics: In the same skillet, add chopped onion and garlic. Sauté until softened (about 3–4 minutes). Stir in tomato paste, thyme, and rosemary for 1 minute. Deglaze the pan with red wine (or broth), scraping up any browned bits.
Slow cook the roast: Pour the liquid and aromatics over the roast in the slow cooker. Add bay leaves. Cover and cook on low for 8 hours or high for 5–6 hours, until beef is fork-tender.
Add vegetables: About 2 hours before the end of cooking (low) or 1 hour (high), add carrots, potatoes, and celery to the slow cooker. Continue cooking until vegetables are tender.
Finish and serve: Remove bay leaves. Slice or shred the beef and serve with vegetables. Spoon the rich cooking liquid over the roast and vegetables as a natural gravy.