The color code is remarkable for its ability to perform fault-tolerant logic gates. This motivates the design of practical decoders that minimise the resource cost of color-code quantum computation. Here we propose a decoder for the planar color code with a triangular boundary where we match syndrome defects on a nontrivial manifold that has the topology of a M\"{o}bius strip. A basic implementation of our decoder used on the color code with hexagonal lattice geometry demonstrates a logical failure rate that is competitive with the optimal performance of the surface code, $\sim p^{\alpha \sqrt{n}}$, with $\alpha \approx 6 / 7 \sqrt{3} \approx 0.5$, error rate $p$, and $n$ the code length. Furthermore, by exhaustively testing over five billion error configurations, we find that a modification of our decoder that manually compares inequivalent recovery operators can correct all errors of weight $\le (d-1) /2$ for codes with distance $d \le 13$. Our decoder is derived using relations among the stabilizers that preserve global conservation laws at the lattice boundary. We present generalisations of our method to depolarising noise and fault-tolerant error correction, as well as to Majorana surface codes, higher-dimensional color codes and single-shot error correction.