Observations of river water levels from nadir radar altimeters are currently limited by orbital spacing and by the winding nature of rivers, making them inadequate for monitoring the spatial-temporal dynamics of rivers. In this study, we developed an automatic off-nadir processing method to estimate water surface elevation and river slope in cross-track direction using Sentinel-3A/-3B and Sentinel-6A Fully-Focused SAR (FFSAR) processed data. Once the off-nadir reflected echoes are recorded in the range window, a slant range correction is applied to the retracked range to obtain the water level. From both the satellite altitude and the position of range window, we find that the maximum cross-track distance usable in this method is 6.6 km for Sentinel-3A/-3B and 9.3 km for Sentinel-6A. The validation of off-nadir water surface elevations (WSEs) in three rivers (Rhine, Danube, and Oder) against in-situ data, shows an accuracy in terms of standard deviation of difference (STDD) between 0.04 and 0.09 m for Sentinel-3A/-3B and Sentinel-6A. Moreover, the water surface slopes estimated from off-nadir processing, compared to slopes derived from in-situ data, show an accuracy, in terms of STDD, varying from 0.7 cm/km to 1.3 cm/km. Comparison of the river profiles over a 60-km river channel from off-nadir and wide-swath altimetry data, shows a STDD of 0.14 m for Sentinel-6 and 0.19 m for Sentinel-3B respectively. This study confirms the effectiveness of off-nadir processing in improving the accuracy of river surface elevation and slope measurements.