A method of fabricating a solar cell comprises forming a flat flexible film structure including an optical absorbing layer, and sandwiching the flexible film structure between upper and lower substrates, thereby deforming the flexible film to have a profile corresponding to non-flat upper and lower surfaces of the substrates. This method improves the efficiency and reduces the cost of existing thin film solar cells. A non-flat optical structure enables long wavelength photons to pass through the absorbing layer several times, thereby absorbing more of the longer wavelength photons. The provided structure also enables recycling of light reflected off material interfaces, thereby reducing losses due to these reflections. The use of a flexible solar cell substrate enables a simplified manufacturing process to be employed.