Mix spices: In a small bowl, combine chili powder, cumin, and smoked paprika. Rub this spice blend all over the beef to coat each side thoroughly.
Sear beef: Heat 1 tablespoon of olive oil in a large skillet over medium-high heat. Sear the beef for about 2 minutes per side until browned. Transfer the beef to the slow cooker.
Prepare sauce: In the same skillet, add the remaining olive oil and sauté the onion for 3 minutes. Add garlic and cook for 1 minute. Pour in beef stock to deglaze the pan, then add tomato paste and chipotle pepper. Whisk and simmer for 3-5 minutes until slightly thickened. Pour over the beef in the slow cooker.
Cook beef: Cover the slow cooker and set to cook on low for 6-8 hours or on high for 3-4 hours, until the beef is tender and shreds easily.
Shred and serve: Use two forks to shred the beef in the slow cooker. Toss with the juices and serve on flour tortillas with your choice of toppings.