Heat the olive oil in a large skillet over medium heat. Add the onion and cook until softened, about 5 minutes. Add the garlic, paprika, oregano, cumin, coriander and cayenne pepper (if using) and season with salt and pepper. Cook for 1 minute.
Add the chicken to the skillet and cook until golden brown on all sides. Pour in the chicken broth or stock and bring to a boil.
Stir in the rice, reduce heat to low, cover and simmer until the rice is cooked through and all of the liquid has been absorbed, about 20 minutes.
Remove from heat and let stand for 5 minutes before serving.