Rinse the rice under cold water using a mesh strainer until the water runs clear, then set it aside.
Heat the oil in a large, heavy-bottomed pot over medium heat. Add the sofrito and sauté for a few seconds, until fragrant.
Stir in the tomato paste, oregano, cumin, adobo, sazon, and bouillon. Use a wooden spoon to break up the bouillon and stir until the tomato paste dissolves completely.
Add the beans with their liquid (be sure to scrape out any beans stuck at the bottom of the can) and pour in 2 more cups of water. Taste the broth and season with salt and pepper as needed, then bring it to a simmer. If you're using beans from scratch, refer to the notes section below.
Once the liquid starts to simmer, add the rice and stir it to break up any clumps. Raise the heat and stir the rice frequently, letting most of the liquid cook off.
Once most of the liquid is gone, cover the pot with a lid and turn the burner down very low. Let the rice cook for 30 minutes. Don't lift the lid while the rice is cooking!
Once the 30 minutes are up, turn off the burner but keep the lid on. Let the rice rest for 5-10 minutes, then lift the lid and taste the rice – the grains should be tender and separated. Fluff with a fork and serve.