This black bean and corn salad comes together in no time, no chopping required! It’s a quick way to get fresh food on the table.
Guess what? You can make this fresh black bean and corn salad in just 5 minutes, no chopping required. Seriously!
Why we love this recipe: This one is on repeat at our house because it’s so simple and so tasty. It’s zingy and refreshing, with a burst of sweetness from corn and zingy lime. It will become your “back pocket” idea for everything: bring it to cookouts and picnics, eat it as a side or in bowl meals, or even dip it with tortilla chips! I cannot tell you how many times we’ve made this.
Ingredients in this black bean and corn salad
Many black bean and corn salads take 20 to 30 minutes to make with all the chopping involved. Your knife and cutting board are dirtied, and you end up with tomato seeds all over your counter. We designed this black bean and corn salad to be a quick lunch time hack, or a fast appetizer for dipping with chips. Here are the secrets:
- Canned black beans: You can also use pre-cooked black beans if desired; one 15-ounce can is 1 ½ cups cooked.
- Canned corn: We like canned corn here, since it has nice sweet flavor and a soft texture. You can use fresh corn, either cooked or raw, if you have it on hand.
- Fresh pico de gallo (aka fresh salsa): Use purchased pico de gallo to make this a 5 minute salad!
- Cumin, salt and olive oil: These seasonings round out the flavors.
- Optional ingredients: When we have time, we like to add a little chopped cilantro or lime juice or zest to amp the flavor even more.
The key: fresh pico de gallo
This black bean and corn salad is only possible because of one thing: it’s easy to find fresh pico de gallo in most American grocery stores. You may also see it labeled as “fresh salsa” or “salsa fresca.” Pico de gallo translates to “beak of the rooster” in Spanish, and it’s a type of salsa made with fresh tomatoes. The ingredients in most pico de gallo recipes are tomato, onion, jalapeño pepper, cumin, garlic cilantro, and fresh lime juice.
The nice thing about using purchased pico is that you can find it in the fresh food section, already chopped up and ready to mix into the salad! It helps to make a natural dressing for the salad with the acidity of the lime juice.
Tips for purchased pico
We have found this recipe really depends on the brand of pico de gallo. If the salad seems dry or needs more flavor, add a little more lime juice, a drizzle more oil, or more salt or cumin.
Alterative: make pico homemade
Can’t find fresh store-bought pico de gallo or fresh salsa? Depending on your location, you might not be able to pick up a container of this magical mixer.
That’s ok: just make your own pico de gallo! The salad will take a little longer to make, but it’s worth it for the flavor! Mix up half of this pico de gallo recipe.
Use canned or fresh corn
You can also vary the corn in this recipe! Most often, we like to make it with canned corn because it’s so quick and simple. But if it’s the season, this is a great corn on the cob recipe! Simply use 1 ½ cups corn cut off the cob. You can use raw corn, grill the corn, or boil the corn on the cob before using it in the salad.
Flavor boosters
This black bean and corn salad is delicious as is. But when we have them on hand, we like adding three simple ingredients to boost the flavor:
- Fresh cilantro: You can add it either torn or finely chopped. It adds a nice green color to the salad and fresh flavor. Use a large handful (no need to measure).
- Lime zest or juice: If you have a fresh lime on hand, it adds a nice refreshing flavor as well. We typically use the juice or zest of half of a lime, grated with a Microplane grater.
- Cotija, queso fresco, or feta cheese: Adding a savory cheese makes the flavor pop even more.
Ways to serve corn and black bean salad
This black bean and corn salad is endlessly versatile! You can serve it for so many different occasions. This might just seem like a simple recipe: but we think it decreases the barriers between you and fresh, plant-forward eating. You can make it into a lunch, dip, or healthy dinner idea by serving it:
- As an easy lunch salad, with crackers or chips
- As a fast and easy appetizer, with tortilla chips
- In a rice bowl with cilantro lime rice, or in a taco salad or burrito bowl
- In a taco like tofu tacos, shrimp tacos or egg tacos, or as a side for tacos
- On nachos like sheet pan nachos
- Over a sweet potato, like baked sweet potato or sweet potato wedges
- With shrimp, like grilled shrimp skewers
- Over fish, like grilled tilapia, grilled tuna steak or grilled cod
More black bean recipes
What can you do with a can of black beans? Let us count the ways. Here are some of our favorite black bean recipes:
- Go from can to side dish in 5 minutes with this black beans recipe, or mix up a pot of black bean soup.
- Snack on black bean hummus.
- Make up a batch of tasty black beans and rice or Cuban black beans.
- Throw them into chili for black bean chili, or make refried black beans.
Favorite Black Bean Burger
Easy Black Bean Hummus
Easy Black Bean Soup
Easy Black Bean Chili
Dietary notes
This black bean and corn salad recipe is vegetarian, vegan, plant-based, dairy-free, and gluten-free.
Frequently asked questions
Absolutely! Since we’re using canned black beans and corn, and pre-made pico de gallo, all you need to do is drain the cans, combine everything in a bowl, and stir. It’s the perfect quick and easy side dish or appetizer!
Absolutely! While this salad is delicious as is, feel free to customize it with your favorite additions. Some popular options include diced avocado, crumbled feta cheese, chopped red onion, or a drizzle of your favorite dressing.
This salad will keep in the refrigerator for 2-3 days if stored in an airtight container. Keep in mind that the texture might change slightly as the pico de gallo releases more liquid over time.
It’s not recommended to freeze this salad, as the texture of the vegetables will change significantly upon thawing.
Black Bean and Corn Salad (5 Minutes!)
Prep Time: 5 minutes
Cook Time: 0 minutes
Total Time: 5 minutes
Yield: 4
Description
This black bean and corn salad comes together in no time, no chopping required! It’s a quick way to get fresh food on the table.
Ingredients
- 15-ounce can black beans*
- 15-ounce can corn (or 1 ½ cups fresh corn cut from the cob, raw or boiled)
- 1 cup fresh pico de gallo**, aka fresh salsa (purchased, or 1/2 recipe Pico de Gallo)
- ½ teaspoon cumin
- ½ teaspoon kosher salt
- 1 teaspoon olive oil
- Zest or juice of ½ lime (optional)
- 1 large handful fresh cilantro, chopped or torn (optional)
Instructions
- Drain and rinse the black beans. Drain the corn. In a bowl, mix them with the pico de gallo (do not drain), cumin, salt, and olive oil.
- If desired, add torn cilantro or lime juice or zest. Serve immediately with a slotted spoon as a side salad, in a rice bowl, in tacos, or as a dip with tortilla chips. Store refrigerated for up to 4 days.
Notes
*For a party size, double the ingredients.
**You’ll find this packaged in the refrigerated section at your local grocery, labeled as pico de gallo or fresh salsa. If you can’t find it, make this pico de gallo recipe. We’ve found this recipe really depends on the brand of pico de gallo: if it seems dry or needs more flavor, add a little more lime juice, a drizzle more oil, or more salt.
Other additions: Cotija cheese, queso fresco, or feta cheese are nice additions here.
- Category: Side dish
- Method: Fresh
- Cuisine: American
- Diet: Vegan
(function(){
window.addEventListener( ‘message’, function( event ){
if ( ( ‘https://nutrifox.com’ !== event.origin && ‘https://nutrifox.test’ !== event.origin ) ||
typeof event.data !== ‘string’ ) {
return;
}
var payload = JSON.parse( event.data );
switch ( payload.event ) {
case ‘setHeight’:
var iframe = document.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.style.height = payload.height + ‘px’;
break;
}
} );
}());
window.trCommon={„minRating”:6,”ajaxurl”:”https:\/\/www.acouplecooks.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:100067};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
window.addEventListener( ‘click’, e => {
let anchor = e.target;
if ( ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
if ( anchor.tagName === ‘A’ ) {
return;
}
anchor = anchor.closest( ‘a’ );
if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
history.pushState( {}, ”, selector );
}
};
(function( callback ) {
if ( document.readyState !== ‘loading’ ) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.smoothScroll.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if („wakeLock” in navigator && „request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}
const cookModes = document.querySelectorAll(this.cookModeSelector);
if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(„change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = „none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(„screen”);
this.wakeLock.addEventListener(„release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(function(callback) {
if (document.readyState !== „loading”) {
callback();
} else {
document.addEventListener(„DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );
setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}
this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );
},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();
for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};
window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}
if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );
// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );
if ( ! data.count ) {
return;
}
const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}
if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}
const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}
const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}
const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}
// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}
const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}
const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};
(function(callback) {
if (document.readyState !== „loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});