Trim fat from the beef and cut across the grain into ¼-inch thick slices, about 2-inches long, and 1-inch wide, discarding excess fat. Sprinkle meat with half of the minced garlic and ginger, salt and pepper, stir to combine.
Heat oil in a large pot over high heat. Brown half the beef lightly, occasionally stirring, 3 to 4 minutes until just cooked. It's okay if the meat is still a little pink. With a slotted spoon, transfer meat to a bowl. Repeat with remaining beef. Cover cooked meat with plastic wrap and set aside.
Reduce heat to medium. Add remaining minced garlic and ginger to the pot and cook until softened, about 30 seconds. Stir in five spice powder, beef stock, and soy sauce.
Peel sweet potato, halve lengthwise, and then cut into ⅓-inch thick slices and add to the pot. Add peeled and chopped carrots to the pot. Cover and bring to a boil over high heat, and then reduce heat and simmer 5 minutes.
Meanwhile, trim ¾-inch off the ends of the bok choy, separate leaves, and cut the larger outside leaves down the center to make two smaller pieces. Rinse and wash well.
Stir bok choy and sliced red cabbage into the stew and simmer just until bok choy is wilted, about 2 minutes. Stir in beef and cook until hot, 1 to 2 minutes.
Ladle soup into bowls and garnish with sliced green onions.