The penalized signal regression (PSR) approach to multivariate calibration (MVC) assumes a smooth vector of coefficients for weighting a signal or spectrum to predict the unknown concentration of a chemical component. P-splines (i.e. B-splines and roughness penalties, based on differences) are used to estimate the coefficients. In this paper we allow the PSR coefficient vector to vary smoothly along a covariate (e.g. temperature), which results in a smooth surface on the wavelength-temperature domain. Estimation is performed using two-dimensional tensor product P-splines. As such, a slice of this surface effectively estimates the vector of coefficients at any arbitrary temperature. As an added generalization, we further relax the implicit assumption of an identity link function by allowing an unknown, but explicit, link function between the linear predictor and the response. Again, we allow the signal's link function to vary smoothly along a covariate, which produces a two-dimensional link surface. The unknown link surface is also estimated using two-dimensional P-splines, which is sliced at the same arbitrary temperature to bend prediction. Typically we use a common covariate (e.g. temperature) to vary the associated link function, as with the signal coefficients, but nothing prohibits the use of two different ones. We term our method: varying single-index signal regression (VSISR). The methods presented are grounded in penalized regression, where difference penalties are placed on the rows and columns of the tensor product coefficients. Each row and column of each surface has its own tuning parameter. An application to ternary mixture data illustrates that both the varying-coefficient and varying-nonlinearity (due to the link) are present. External prediction performance comparisons are made for both the identity link varying-coefficient penalized signal regression (VPSR) and partial least squares (PLS). (C) 2015 Elsevier B.V. All rights reserved.