Weakly nonlinear internal wave–wave interaction is a key mechanism that cascades energy from large to small scales, leading to ocean turbulence and mixing. Oceans typically have a non-uniform density stratification profile; moreover, submarine topography leads to a spatially varying bathymetry ( $h$ ). Under these conditions and assuming mild-slope bathymetry, we employ multiple-scale analysis to derive the wave amplitude equations for weakly nonlinear wave–wave interactions. The waves are assumed to have a slowly (rapidly) varying amplitude (phase) in space and time. For uniform stratifications, the horizontal wavenumber ( $k$ ) condition for waves (1, 2, 3), given by ${k}_{(1,a)}+{k}_{(2,b)}\!+\!{k}_{(3,c)}\!=\!0$ , is unaffected as $h$ is varied, where $(a,b,c)$ denote the mode number. Moreover, the nonlinear coupling coefficients (NLC) are proportional to $1/h^2$ , implying that triadic waves grow faster while travelling up a seamount. For non-uniform stratifications, triads that do not satisfy the condition $a=b=c$ may not satisfy the horizontal wavenumber condition as $h$ is varied, and unlike uniform stratification, the NLC may not decrease (increase) monotonically with increasing (decreasing) $h$ . NLC, and hence wave growth rates for weakly nonlinear wave–wave interactions, can also vary rapidly with $h$ . The most unstable daughter wave combination of a triad with a mode-1 parent wave can also change for relatively small changes in $h$ . We also investigate higher-order self-interactions in the presence of a monochromatic, small-amplitude topography; here, the topography behaves as a zero-frequency wave. We derive the amplitude evolution equations and show that higher-order self-interactions might be a viable mechanism of energy cascade.