In a large, high-sided skillet over medium-high heat, heat oil. Add beef and onion; season with ½ tsp. salt. Cook, breaking up beef with a wooden spoon, until beef is cooked through and browned and onion is tender, about 8 minutes.
Add rice and garlic to skillet and cook, stirring occasionally, until rice is lightly toasted and garlic is fragrant and light golden, about 2 minutes. Add diced tomatoes, tomato sauce, vinegar, Worcestershire, paprika, granulated sugar, cinnamon, ¾ cup water, ½ tsp. salt, and ¼ tsp. pepper.
Bring mixture to a boil, then arrange cabbage over rice mixture. Cover and reduce heat to medium-low. Simmer, undisturbed, until rice and cabbage are tender and liquid is mostly absorbed, 22 to 25 minutes.
Uncover, add dill, and stir to combine; season with salt and pepper. Top with more dill.
