In general, Darwin's theory has been supported over and over again by experiments - our modern understanding of evolution is fundamentally what Darwin suggested. However, apart from appreciating many more details than Darwin ever could have, we also now know that Lamarck may not have been so crazy as he was later portrayed.
Inheritance in the Darwinian sense involves the digital information of DNA, i.e the sequence of bases. But we also know that DNA can be altered structurally - i.e. in the way it folds, or whether bases are methylated - and that these structural alterations can affect the expression of genes. In some cases, these epigenetic modifications can be trans-generational; they can be passed on to offspring.
Here are the mechanisms that I know of (perhaps others can expand on this):
- X-chromosome inactivation (XCI): this is when one of two copies of the X-chromosome in females is completely inactivated by being packed into heterochromatin, preventing the DNA from being transcribed. Which chromosome (the maternal or paternal) is deactivated initially is random, but the decision can be inherited by all daughter cells. Skewed x-inactivation is when a cell very early in the cell line passes on its XCI decision, and can result in a particular phenotype being activated in a whole organ or tissue (such as patches in tortoiseshell cats). It has been shown that in mice and in humans, the somatic cells can sometimes have their XCI decision influenced by the mother, and that this can lead to early skewing of the XCI in the offspring, thereby passing on a decision about which alleles are present without affecting the DNA sequence.
- Parental imprinting: in this case, individual alleles derived from one parent are preferentially activated or deactivated by methylation or histone modification. This change is passed on to the zygote, and alters expression in the offspring. Several human heritable diseases are associated with this kind of modification, such as Prader-Willi Syndrome.
- Paramutation: first discovered in maize, this is when the presence of one allele in a genome can affect another allele in a heritable way. I.e. if allele A is present in the same genome as allele B for a single generation, allele A is permanently inactivated so that if you breed out allele B, allele A will not be active in the offspring.
Finally, there is also a phenomenon called structural inheritance, whereby a structural feature of an organism is inherited in a non-genetic way. There is less written about this, so the mechanism is not entirely clear as far as I know, but an example is that the 'handedness' of the spiral pattern on the shell of a protozoan Tetrahymena is inherited without any genetic change (Nelsen et al., 1989).
Nelsen, E.M., Frankel, J. & Jenkins, L.M. (1989) Non-genic inheritance of cellular handedness. Development (Cambridge, England). 105 (3), 447–456.