Mesoporous Ni1−xMgxO ternary oxides are used as highly efficient photocathodes in p type dye-sensitized solar cells.