Many statistical applications require an estimate of a covariance matrix and/or its inverse. Whenthe matrix dimension is large compared to the sample size, which happens frequently, the samplecovariance matrix is known to perform poorly and may suffer from ill-conditioning. There alreadyexists an extensive literature concerning improved estimators in such situations. In the absence offurther knowledge about the structure of the true covariance matrix, the most successful approachso far, arguably, has been shrinkage estimation. Shrinking the sample covariance matrix to amultiple of the identity, by taking a weighted average of the two, turns out to be equivalent tolinearly shrinking the sample eigenvalues to their grand mean, while retaining the sampleeigenvectors. Our paper extends this approach by considering nonlinear transformations of thesample eigenvalues. We show how to construct an estimator that is asymptotically equivalent toan oracle estimator suggested in previous work. As demonstrated in extensive Monte Carlosimulations, the resulting bona fide estimator can result in sizeable improvements over the samplecovariance matrix and also over linear shrinkage.