Heat olive oil in a large skillet or Dutch oven over medium heat. Cook and stir onions in hot oil until tender and translucent, about 5 minutes. Stir in rice and cranberries until rice is coated with oil and lightly toasted, about 5 minutes.
Pour in chicken broth; season with kosher salt and black pepper. Bring to a boil. Cover, reduce heat to low, and simmer until rice is tender and liquid is absorbed, about 22 minutes.
Remove the skillet from heat; stir in green onions, almonds, and cilantro. Adjust seasoning if needed.