Fault-tolerant quantum error correction is essential for implementing quantum algorithms of significant practical importance. In this work, we propose a highly eective use of the surface-GKP code, i.e., the surface code consisting of bosonic GKP qubits instead of bare two-dimensional qubits. In our proposal, we use error-corrected two-qubit gates between GKP qubits and introduce a maximum likelihood decoding strategy for correcting shift errors in the two-GKP-qubit gates. Our proposed decoding reduces the total CNOT failure rate of the GKP qubits, e.g., from 1:46% to 0:67% at a GKP squeezing of 11:5dB, compared to the case where the simple closest-integer decoding method is used. Then, by concatenating the GKP code with the surface code, we nd that the threshold GKP squeezing is given by 9:9dB under the assumption that nite-squeezing of the GKP states is the dominant noise source. More importantly, we show that a low logical failure rate pL < 10-7 can be achieved with moderate hardware requirements, e.g., 483 oscillator modes at a GKP squeezing of 11:5dB as opposed to 9521 bare qubits for the standard rotated surface code at an equivalent noise level (i.e., p = 0:67%). Such a low failure rate of our surface-GKP code is possible through the use of space-time correlated edges in the matching graphs of the surface code decoder. Further, all edge weights in the matching graphs are computed dynamically based on analog information from the GKP error correction using the full history of all syndrome measurement rounds. We also show that a highly-squeezed GKP state of GKP squeezing & 11:5dB can be experimentally realized by using a dissipative stabilization method, namely, the Big-small-Big method, with reasonable experimental parameters. Lastly, we introduce a three-level ancilla scheme to mitigate ancilla decay errors during a GKP state preparation.