The main thing you need to do is polish the pronunciation of the 5 pure vowel sounds of Spanish: A E I O U. Vowel sounds are what make people sound foreign, for the most part.
A - this is easy to master for English people. Think of the word "bye". The /a/ sound is there, just don't pronounce the "i" sound at the end of the dyphthong. That's the Spanish A.
E - think of the word "bed". Your /e/ sound is similar to the Spanish /e/, just try to close your mouth a little more that you'd usually do when pronouncing "bed" (our /e/ sound is a bit less open).
I - think of a sound halfway between the "i" in "bit" and the "ee" in "beet". That's our I. If you find it difficult just pronounce the tense "ee" in "beet".
O - this could be difficult. Think of the word "boy" and don't pronounce the final "i" sound of that dyphthong.
U - this can also be difficult. Imagine you could isolate the "w" sound in "wild". That sound by itself is very similar to our U (although it's a semiconsonant, but that's more of a linguistic question).
And also remember that our vowel sounds are all the same length. We don't have longer and shorter sounds.
Another thing you could do is reducing the amount of schwas you pronounce. That is, the lax pronunciation of vowel sounds when they're unstressed. For example: if you read the word "casa" both A sounds are the same length and sound the same. Don't be tempted to pronounce the A in the unstressed syllable "sa" differently. We don't have lax sounds or reduced vowels in Spanish.
If you master the vowel sounds, you will sound less gringo. But accent is just a part of the whole package.