The SoLid experiment aims to measure neutrino oscillation at a baseline of 6.4 m from the BR2 nuclear reactor in Belgium. Anti-neutrinos interact via inverse beta decay (IBD), resulting in a positron and neutron signal that are correlated in time and space. The detector operates in a surface building, with modest shielding, and relies on extremely efficient online rejection of backgrounds in order to identify these interactions. A novel detector design has been developed using 12800 5 cm cubes for high segmentation. Each cube is formed of a sandwich of two scintillators, PVT and 6LiF:ZnS(Ag), allowing the detection and identification of positrons and neutrons respectively. The active volume of the detector is an array of cubes measuring 80× 80× 250 cm (corresponding to a fiducial mass of 1.6 T), which is read out in layers using two dimensional arrays of wavelength shifting fibres and silicon photomultipliers, for a total of 3200 readout channels. Signals are recorded with 14 bit resolution, and at 40 MHz sampling frequency, for a total raw data rate of over 2 Tbit/s. In this paper, we describe a novel readout and trigger system built for the experiment, that satisfies requirements on: compactness, low power, high performance, and very low cost per channel. The system uses a combination of high price-performance FPGAs with a gigabit Ethernet based readout system, and its total power consumption is under 1 kW. The use of zero suppression techniques, combined with pulse shape discrimination trigger algorithms to detect neutrons, results in an online data reduction factor of around 10000. The neutron trigger is combined with a large per-channel history time buffer, allowing for unbiased positron detection. The system was commissioned in late 2017, with successful physics data taking established in early 2018.