We introduce a novel multi-factor Heston-based stochastic volatility model, which is able to reproduce consistently typical multi-dimensional FX vanilla markets, while retaining the (semi)-analytical tractability typical of affine models and relying on a reasonable number of parameters. A successful joint calibration to real market data is presented together with various in-and out-of-sample calibration exercises to highlight the robustness of the parameters estimation. The proposed model preserves the natural inversion and triangulation symmetries of FX spot rates and its functional form, irrespective of choice of the risk-free currency. That is, all currencies are treated in the same way.